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

网站静态界面挖取回忆网站模板

网站静态界面挖取,回忆网站模板,购物网站有哪些,设计之家海报【需求】前端请求后端做文件上传或者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/900926/

相关文章:

  • 桂林景区网站策划京东网站是哪个公司做的
  • 泰安整站优化js特效网站
  • 青岛手机建站公司济南网站app开发
  • 辽阳网站建设公司网页文章 在wordpress
  • 怎么建立免费的网站购物帮做特惠的网站
  • 有关电子商务网站建设与维护的书籍有电脑网站怎样建手机号码
  • 网站附件做外链天津建设工程信息网网上报名
  • 辽宁奔之流建设工程有限公司网站许昌公司网站开发
  • 上海比较好的网站制作公司自贡市规划建设局网站
  • 响应式网站的优势有那些的呢网站刷流量会怎么样
  • 西安市规划建设局网站私密浏览器在线观看
  • 长安网站建设好吗wordpress换地址
  • 网站备案多长时间软文写作
  • 成都网站建设qghl抖音代运营收费详细价格模板
  • 网站没有收录黑马程序员培训机构
  • 购物网站管理系统外包公司是什么意思
  • 厦门商城网站建设公司网站seo公司
  • 北京城乡建设和住房门户网站建网站要多少钱 优帮云
  • 学校网站建设方案做私人没有备案的网站
  • 直接用ip地址的网站怎么做公司注册公司流程
  • 网站建设图片怎么加水印网站设计制作行业排行
  • 北郊网站建设公司蓝田县建设局网站
  • 网站首页轮播淘宝店铺去哪里买
  • 中国交通建设集团第四工程局网站网站建设分辨率
  • c .net网站开发实例博客网站设计方案
  • 新媒体与网站建设网站必须做商标么
  • 广州地区做网站的百度首页优化排名
  • 郑州网站推广公司做网站细节
  • 家居网站建设wordpress更改数据库
  • 建立网站分为几阶段国内十大旅游网站排名