千家信息网

Java http调用接口提交表单以及文件的方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Java http调用接口提交表单以及文件的方法",在日常操作中,相信很多人在Java http调用接口提交表单以及文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2026年11月03日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(Map generalField, 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安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 互联网是第几次科技革命的成果 金诺互联网科技 北京互联网科技公司 美国互联网黑科技 互联网科技网站 长亮科技互联网金融 天扬科技互联网广告 科技伦理 互联网公司 无锡溥仪互联网科技有限公司 北京华百购互联网科技有限公司 佳云科技和互联网广告 互联网科技创新的路径 特约风豹互联网科技为什么扣费 长沙互联网科技 众安科技工业互联网合作 元气玛特互联网科技公司是外包吗 吉林省码上互联网科技电话 长沙渺峰互联网科技有限公司 互联网科技手抄报图片 山东特亿宝互联网科技有限公司 礼当家互联网科技 科技互联网公司logo 互联网金融和金融科技 中国的互联网科技企业的崛起 荆州市昕露互联网络科技有限公司 燊美集互联网科技有限公司 黑云互联网科技有限公司 福仕德教育科技互联网 银川新华互联网科技学校招聘
0