Java http调用接口提交表单以及文件的方法
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"Java http调用接口提交表单以及文件的方法",在日常操作中,相信很多人在Java http调用接口提交表单以及文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年02月01日Java http调用接口提交表单以及文件的方法
这篇文章主要介绍"Java http调用接口提交表单以及文件的方法",在日常操作中,相信很多人在Java http调用接口提交表单以及文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java http调用接口提交表单以及文件的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Java HttpURLConnection 使用
/** * */package com.demo.java;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;/** *描述:
* * @author saohuo * @date 2019年11月4日 * @version */public class MultipartFormDataPost { // multipart/form-data; 表单各字段提交分隔符 private static String boundary = "--69695201314"; public void submit(MapgeneralField, List files) throws Exception { HttpURLConnection connection = null; OutputStream os = null; URL url = new URL("http:"); connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setRequestMethod("POST"); connection.setUseCaches(false); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setRequestProperty("Accept-Charset", "UTF-8"); connection.setRequestProperty("content-type", "multipart/form-data;boundary="+boundary); os = new DataOutputStream(connection.getOutputStream()); // 文本参数组装 StringBuffer textFormBody = new StringBuffer(); Map formField = generalField; formField.forEach((k,v) -> { textFormBody.append("\r\n").append("--").append(boundary).append("\r\n"); textFormBody.append("Content-Disposition: form-data; name=\""+k+"\""); textFormBody.append("\r\n\r\n");//名称与数据之间要有两个回车换行 textFormBody.append(v); }); // 提交文本表单 os.write(textFormBody.toString().getBytes("UTF-8")); // 文件数据 if (files != null && !files.isEmpty()) { int fileIndex = 0; for(File file : files) { String filename = file.getName(); String fileMinetype = URLConnection.getFileNameMap().getContentTypeFor(filename); StringBuffer fileFormBody = new StringBuffer(); fileFormBody.append("\r\n").append("--").append(boundary).append("\r\n"); fileFormBody.append("Content-Disposition: form-data; name=\"files["+fileIndex+"]\"; filename=\"" + filename + "\""); fileFormBody.append("\r\n"); fileFormBody.append("Content-Type:" + fileMinetype); fileFormBody.append("\r\n\r\n"); // 提交文件基本信息(文件名、文件长度、文件类型等) os.write(fileFormBody.toString().getBytes()); InputStream fileStream = new FileInputStream(file); DataInputStream fileDataIs = new DataInputStream(fileStream); int filebytes = 0; byte[] filebufferOut = new byte[1024]; while ((filebytes = fileDataIs.read(filebufferOut)) != -1) { os.write(filebufferOut, 0, filebytes); } fileDataIs.close(); fileIndex++; } } // 文件写入结束 // 最后写入结束标识 byte[] endBodyData = ("\r\n--" + boundary + "--\r\n").getBytes(); os.write(endBodyData); os.flush(); int responseCode = connection.getResponseCode(); // 提交结果状态码 System.out.println(responseCode); }}
到此,关于"Java http调用接口提交表单以及文件的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
方法
表单
接口
学习
数据
更多
UTF-8
帮助
实用
接下来
两个
之间
信息
分隔符
参数
名称
字段
文件名
文本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
融联易云助力网络安全防护
能用的qq代理服务器
0代码桌面软件开发
软件开发python培训
莆田极速网络技术有限公司
湛江专业软件开发价格
fda的be数据库
服务器是否能安装安卓系统
nba技术犯规数据库统计
判断是否与阿里云服务器连接
湖南短视频软件开发运营
我的世界1.16刷铁轨机服务器
云打印服务器安全狗
网络安全盾 网站
河南鸿英达网络技术有限公司
那种数据库最安全
方城软件开发项目管理
传感器与网络技术
计算机网络安全实践环境是
山西君子岛互联网信息科技
服务器本地
昌平区口碑好的软件开发推荐咨询
网络专业人才对网络安全的意义
在数据库基本概念中
银行软件开发检测
免费网络安全测评
外贸软件开发有诈骗吗
大菠萝棋牌软件开发
绍兴软件开发驻场正规平台
荒野乱斗有服务器吗