Java http调用接口提交表单以及文件的方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"Java http调用接口提交表单以及文件的方法",在日常操作中,相信很多人在Java http调用接口提交表单以及文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
计算机网络技术分为哪些方面
国税网络安全会议上的讲话
美国的网络技术发展
记录仪总是出现连接服务器错误
c网络安全工程师认证
南川网络安全知识竞赛
英文例句数据库
客户端一直接收数据库
光网络技术试题
数据库中日志文件类型是
昆医网络安全知识竞赛
数据库保存树形结构
计算机网络安全的应用
软件开发中的设备成本核算
光耀网络技术有限公司
网络安全舆情处置领导小组
数据库制作超市管理系统
济宁app软件开发哪家好
软件开发兼职团队
上海自动网络技术转让价目表
鼎新erp系统软件开发商
爱如生四库系列数据库
如何登录华为云主机服务器
张家界天气预报软件开发
我国网络安全设备市场排名
立讯服务器
可信软件开发能力认证
软件开发团队证明
丰台区网络技术咨询职责
我与网络安全的故事作文