当前位置: 首页 > news >正文

自助建站 平台wordpress 表单管理

自助建站 平台,wordpress 表单管理,太原制作公司网站,内蒙古市最新新闻【需求】前端请求后端做文件上传或者excel上传,后端不解析直接把MultipartFile传给第三方平台,通过http的方式该怎么写 import org.springframework.web.multipart.MultipartFile;import java.io.*; import java.net.HttpURLConnection; import java.ne…

【需求】前端请求后端做文件上传或者excel上传,后端不解析直接把MultipartFile传给第三方平台,通过http的方式该怎么写

import org.springframework.web.multipart.MultipartFile;import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;public class HttpFileTransferUtil {/*** 将MultipartFile文件通过HTTP请求转发到目标服务器** @param file       前端上传的文件* @param serverUrl  目标服务器的URL* @param authToken  认证令牌(Bearer Token)* @return 响应结果* @throws IOException 如果请求失败或文件读取失败*/public static String httpFileRequestHasHead(MultipartFile file, String serverUrl, String authToken) throws IOException {String boundary = "----WebKitFormBoundary" + System.currentTimeMillis(); // 定义边界String lineEnd = "\r\n"; // 换行符String twoHyphens = "--"; // 双横线// 创建URL对象URL url = new URL(serverUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();// 设置请求属性conn.setDoOutput(true); // 允许输出conn.setDoInput(true);  // 允许输入conn.setUseCaches(false); // 禁止缓存conn.setRequestMethod("POST"); // 请求方式为POSTconn.setRequestProperty("Connection", "Keep-Alive");conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);conn.setRequestProperty("Accept", "*/*");conn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.9");conn.setRequestProperty("Authorization", "Bearer " + authToken);conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36");// 创建输出流try (OutputStream outputStream = conn.getOutputStream();PrintWriter writer = new PrintWriter(new OutputStreamWriter(outputStream, StandardCharsets.UTF_8), true)) {// 添加文件部分writer.append(twoHyphens).append(boundary).append(lineEnd);writer.append("Content-Disposition: form-data; name=\"file\"; filename=\"").append(file.getOriginalFilename()).append("\"").append(lineEnd);writer.append("Content-Type: application/octet-stream").append(lineEnd);writer.append(lineEnd);writer.flush();// 写入文件内容try (InputStream fileInputStream = file.getInputStream()) {byte[] buffer = new byte[4048];int bytesRead;while ((bytesRead = fileInputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}outputStream.flush();}// 结束文件部分writer.append(lineEnd);writer.append(twoHyphens).append(boundary).append(twoHyphens).append(lineEnd);writer.flush();}// 获取响应StringBuilder response = new StringBuilder();try (InputStream inputStream = conn.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {String line;while ((line = reader.readLine()) != null) {response.append(line);}}// 断开连接conn.disconnect();return response.toString();}
}

方法说明

  1. 边界定义

    • 使用 boundary 来分隔表单数据的不同部分,确保文件和其他字段能够正确传输。
  2. 请求头设置

    • 设置了 Content-Type 为 multipart/form-data,并定义了边界。
    • 添加了 Authorization 头,用于传递认证令牌。
  3. 文件上传

    • 将 MultipartFile 文件写入请求体,并确保文件内容的正确传输。
  4. 响应处理

    • 读取服务器的响应并返回。
http://www.yayakq.cn/news/101330/

相关文章:

  • 数据分析师培训机构简述seo的优化流程
  • 网站建设协议书模板 完整版wordpress国内现状
  • 加强 网站群建设管理郴州优化公司
  • 绵阳市住房和城乡建设局网站网站网页是怎么做的
  • 拼多多网站建设的目的如何在百度发广告
  • 网站开发常用jquery插件山东省威海市文登区建设局网站
  • 昆山建设网站公司2345浏览器在线
  • 建立网站一般包括什么等方式自己建个网站做优化
  • 公司门面网站设计网站下面 备案
  • 门业网站 源码东莞网络营销信息推荐
  • 网站建设术语 英文生活常识网站源码
  • 宁波做网站制作wordpress the_date()
  • 十档行情免费网站太原网页设计公司
  • 如何注册网站名称江苏城乡建设部网站首页
  • 网站开发 项目规划 怎么写wordpress改变文章字体大小
  • 网站线框小程序开发平台哪家好
  • 湖南省建设人力资源网站网站备案代码
  • 巴楚网站建设傻瓜做网站
  • 2018 84号建设厅网站软件开发公司好的有哪些
  • 本地丹阳网站建设深圳网站建设 外包合作
  • 大学生帮别人做网站网站营销的流程
  • 网站建设从入门到精通+网盘企业网站首页设计欣赏
  • 网站空间续费天津海外seo
  • 定制网站制作平台网站域名有什么用
  • 网站服务器用什么好处群辉怎么做网站
  • 郴州网站seo优化汉语言专业简历制作说明
  • 有经验的企业做网站服务器多少钱
  • 高陵县建设局网站品牌建设规划制定及实施情况
  • 做网站链接怎么选择网站模板
  • 中小企业建站可以怎么做网站制作地点