通过httpurlconnection发带图片的文件
URL url = new URL("https://upload.api.weibo.com/2/statuses/upload.json"); //文件接收的CGI,不一定是JSP的
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
String BOUNDARY = "---------------------------7d4a6d158c9"; // 分隔符
StringBuffer sb = new StringBuffer();
sb.append("--");
sb.append(BOUNDARY);
sb.append("\r\n");
sb.append("Content-Disposition: form-data; name=\"access_token\"\r\n\r\n");
sb.append("2.00TWYMMCMevdsD2cdb152510kMeHHE\r\n");
sb.append("--");
sb.append(BOUNDARY);
sb.append("\r\n");
sb.append("Content-Disposition: form-data; name=\"status\"\r\n\r\n");
sb.append("测试啊\r\n");
sb.append("--");
sb.append(BOUNDARY);
sb.append("\r\n");
sb.append("Content-Disposition: form-data; name=\"pic\"; filename=\"testc.jpg\"\r\n");
sb.append("Content-Type: application/x-www-form-urlencoded\r\n\r\n");
byte[] data = sb.toString().getBytes("utf-8");
byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes();
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary="+BOUNDARY); //设置表单类型和分隔符
// conn.setRequestProperty("Content-Length", String.valueOf(data.length + "36960" + end_data.length)); //不是必须的
// conn.setRequestProperty("connection", "keep-alive");
OutputStream os = conn.getOutputStream();
os.write(data);
FileInputStream fis = new FileInputStream(new File("d://testc.jpg")); //要上传的文件
int rn2;
byte[] buf2 = new byte[1024];
while((rn2=fis.read(buf2, 0, 1024))>0)
{
os.write(buf2,0,rn2);
}
os.write(end_data);
os.flush();
os.close();
fis.close();
int code = conn.getResponseCode();
System.out.println(code);
InputStream is = null;
if(200==code){
//得到返回的信息
is = conn.getInputStream();
}else{
is = conn.getErrorStream();
}
BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
String str = null;
while((str=br.readLine())!=null){
System.out.println(str);
}
}
catch(Exception ee)
{
ee.printStackTrace();
}
通过httpurlconnection发带图片的文件相关推荐
- flask html css文件更改后(谷歌)浏览器不及时更新样式文件怎么办?(ctrl+shift+delete清除缓存的图片和文件)
如果是css文件更改后 以谷歌浏览器为例 按ctrl+shift+delete 清除缓存的图片和文件,再按f5刷新浏览器,搞定! 但是如果是html文件更改,就要重新启动一下后端flask程序了
- PHP判断远程图片或文件是否存在
2019独角兽企业重金招聘Python工程师标准>>> PHP判断远程图片或文件是否存在的实现代码. 最简单的方法就是用fopen(),看看文件能否打开,能打就文件当然就存在. &l ...
- php 判断网络图片是否存,PHP判断远程图片或文件或url是否存在-180
PHP判断远程图片或文件或url是否存在-180 我通常使用curl判断判断远程图片或文件是否存在: /** * @link http://www.phpddt.com */ function url ...
- vue文件里在style的样式需要什么loader_Vue学习笔记之Webpack中css、less、图片等文件处理...
一.webpack中使用css文件: loader是webpack中一个非常核心的概念,去转化webpack不能转化或打包的文件. 安装loader: 官网介绍: 安装: cnpm install - ...
- (36)Gulp 构建资源(图片)文件
一.Gulp 构建资源(图片)文件概述 所谓Gulp 构建资源(图片)文件就是将图片占用大小压缩后变小.其实我们Gulp构建资源文件不只是单独只图片,还有其他的比如说字体文件,也是资源文件.这里我们拿 ...
- 查找重复文件_快速查找、删除重复图片及文件!
照片或者文件多了难免就会有重复,浪费硬盘空间的情况,下面让我们一起使用ACDSee 官方免费版软件删除你的重复图片及文件吧! 1. 打开软件,点击"工具"下的"查找重复项 ...
- 点击图片添加文件在Chrome中使用的兼容问题
canrun View Code <html> <head><title>点击图片添加文件在Chrome中的兼容问题</title><meta h ...
- 图片和文件如何存到数据库
商品图片,用户上传的头像,其他方面的图片.目前业界存储图片有两种做法: 1. 把图片直接以二进制形式存储在数据库中 一般数据库提供一个二进制字段来存储二进制数据.比如MySQL中有个blob字段.Or ...
- QT用QWidget做的气泡聊天功能,可发图片、文件、文本等气泡信息,功能简单,适合初学者
参考网上其他大能的demo,自己写了个比较简单的气泡聊天demo, 可以发图片.文件.文字信息,在气泡信息上有右键菜单复制文本功能,图片可以双击打开,文件可以右键菜单打开文件和打开目录:气泡信息之前有 ...
- python 图片/语音文件实现base64的转换与解析
转化与解析流程:二进制读取---转为base64(b64encode)--- 解码(b64decode)--- 输出图片/语音文件 # 实现base64的转化与解析 with open('test.p ...
最新文章
- msbuild 语法_用于删除文件的MSBuild Task语法
- ubuntu其中一个账户登录不了_ubuntu怎么在一个终端里以另一个帐户登录
- LeetCode Minimum Path Sum(动态规划)
- 详解HashMap的内部工作原理
- linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用
- QT的QUiLoader类的使用
- DDD中的聚合和UML中的聚合以及组合的关系
- 翻译:Docker方式安装redmine
- leetcode 283 Move Zeros; 27 Remove Elements; 26 Remove Duplicated from Sorted Array;
- Java 调用执行其他语言的程序
- arcgis软件界面字体太小
- maxscale的causal_reads参数
- 基于C# 的学生信息管理系统
- JAVA超简单输名字骂人_骂人不带脏字的网名非常有趣
- 在asp中实现由动态网页转变为静态网页
- 气质妈妈“特色”制胜巧心计 情系旗袍书画淘宝梦
- 科学-天文学:天文学百科
- Could not build url for endpoint ‘http://127.0.0.1:5000/ ‘.
- 使用Java-Maven操作MongoDB增删改查
- 如何将论文图表做得漂亮?
热门文章
- 英雄联盟手游版(MOBA)游戏体验报告
- 摄像头在未来自动驾驶中的商业化落地方案
- 约束最优化求解-拉格朗日函数Hesse阵的SQP二次规划方法求解约束最优化问题-梯度法求解无约束最优化问题
- C语音 unsigned char, int的取值范围
- log4j警告的解决办法-狂奔的蜗牛-iteye技术网站
- 行列式的计算机应用开题报告,行列式的应用开题报告.docx
- 【数据库】数据库入门(五): 实体关系模型 (Entity-Relationship Model)
- 美的置业不能停:何享健的号子与郝恒乐的纤绳
- Oracle 11G安装出错(Oracle执行先决条件检查失败)
- python 从入门到精通——多任务、多线程编程