Java上传带图片的Http请求详解编程语言
2023-06-13 09:20:29 时间
static public String post(String murl, HashMap String, String map,
String path) throws Exception {
File file = new File(path);
String filename = path.substring(path.lastIndexOf("/"));
// String filename = Str.md5(path);
StringBuilder sb = new StringBuilder();
if (null != map) {
for (Map.Entry String, String entry : map.entrySet()) {
sb.append("--" + BOUNDARY + "/r/n");
sb.append("Content-Disposition: form-data; name=/""
+ entry.getKey() + "/"" + "/r/n");
sb.append("/r/n");
sb.append(entry.getValue() + "/r/n");
sb.append("--" + BOUNDARY + "/r/n");
sb.append("Content-Disposition: form-data; name=/"image/"; filename=/""
+ filename + "/"" + "/r/n");
sb.append("Content-Type: image/pjpeg" + "/r/n");
sb.append("/r/n");
byte[] before = sb.toString().getBytes("UTF-8");
byte[] after = ("/r/n--" + BOUNDARY + "--/r/n").getBytes("UTF-8");
URL url = new URL(murl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type",
"multipart/form-data; boundary=" + BOUNDARY);
conn.setRequestProperty("Authorization",
"Bearer " + Douban.getAccessToken());
conn.setRequestProperty("Content-Length",
String.valueOf(before.length + file.length() + after.length));
conn.setRequestProperty("HOST", url.getHost());
conn.setDoOutput(true);
OutputStream out = conn.getOutputStream();
InputStream in = new FileInputStream(file);
out.write(before);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) != -1)
out.write(buf, 0, len);
out.write(after);
in.close();
out.close();
MLog.e(inputStream2String(conn.getInputStream()) + "");
return conn.getContent().toString();
/**
* is转String
* @param in
* @return
* @throws IOException
public static String inputStream2String(InputStream in) throws IOException {
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = in.read(b)) != -1;) {
out.append(new String(b, 0, n));
return out.toString();
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10561.html
cjava相关文章
- java集合源码分析(四):LinkedList「建议收藏」
- java 把对象转成map_Java对象转换成Map[通俗易懂]
- java分层打印二叉树_基于Java的二叉树层序遍历打印实现
- 1600页!卷S人的Java《八股文》PDF手册~
- java工具类-Java对象转换成Map
- Java Double转Bigdecimal丢失精度原因学习
- java单例模式——详解JAVA单例模式及8种实现方式
- java实现ajax_Ajax&Java
- java xml格式化_使用java将xml格式化
- 八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等[通俗易懂]
- java后台怎么解密md5,Java md5 密码加解密
- java中map根据value找key_Java Map和Map<String, Object>类型,map通过value找key
- java生成license_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)…
- js文件上传的几种方式_java执行js文件
- Java并发编程基础
- 【错误记录】exe4j 导出的 exe 可执行程序乱码 ( Configure Java Invocation VM Parameters 配置 -Dfile.encoding=GBK 编码 )
- Java基础学习笔记三 Java基础语法详解编程语言
- Java实现图片倒影代码详解编程语言
- java 解析XML文件详解编程语言
- java客户端模拟表单上传文件详解编程语言
- Java中获取文件名、类名、方法名、行号的方法详解编程语言
- java文件上传–基于ajaxFileUpload+struts2详解编程语言
- Java 调用 MySQL,编写数据库程序(java导入mysql)
- 时间设置Java使用Redis设置过期时间(redisjava过期)
- 应用『Java应用程序中Redis缓存的使用』(redis缓存与java)
- 使用Java远程控制Linux 实现简单、高效的服务器管理(java控制linux)
- Java开发与Linux运维的高效协作(java与linux运维)
- Linux下运行Java:一步步踏上学习之路(linux下运行java)
- Java技术将数据写入Oracle数据库(java写入oracle)
- Java加速Oracle开发之旅(java中oracle包)
- [JAVA]十四种Java开发工具点评
- 我终于会写 Java 的定时任务了!
- 代理角色java设计模式之静态代理详细介绍