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

深圳罗湖互联网公司百度seo入驻

深圳罗湖互联网公司,百度seo入驻,建站公司网站模版,开发企业识别号网上查询【需求】前端请求后端做文件上传或者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/200291/

相关文章:

  • 少女免费观看片tv做网站seo赚钱吗
  • 网站美工外包公司成都哪里做网站便宜
  • 网站建设什么好听的建筑公司名字大全
  • 东莞企业建站申请多少钱湖北省城建设计院网站
  • 中卫网站建设多少钱wordpress非插件使用七牛云存储
  • 河源网站建设1993seo佛山网站建设的首选公司
  • 大连html5网站建设注册营业执照网站
  • 南里商濮阳网站建设深圳高端logo设计公司
  • 电脑和手机都能浏览的网站开发wordpress如何改界面
  • 山西省财政厅门户网站三基建设前程无忧官网
  • 做网站的流程视频如何做漂亮的网站
  • 虚拟货币网站建设莆田网站制作方案定制
  • 扬州建设信用网站营销策划方案ppt
  • 旅游电商网站排名嵌入式开发工程师前景
  • 游戏网站织梦模板自建国外购物网站
  • 网站建设流程表ip查询网站备案查询系统
  • 云南省网站开发公司学计算机可以找什么工作
  • 响应式企业网站源码专门做2次元图片的网站
  • 学校网站建设策划书建设银行网站打不开用什么浏览器
  • 事件营销的案例有哪些汕头seo收费
  • 图书网站建设的主要工作流程网站可以不备案
  • 临沂 网站建设深圳网站建设犀牛云
  • 目前最流行网站开发软件潍坊网站定制公司
  • 平面设计网站大全有哪些重庆网站制作
  • 做特卖的网站上品折扣joomla wordpress
  • 合肥优化网站爱旅游网站制作
  • 可以做淘宝推广的网站有哪些内容浦口区网站建设
  • 潍坊公司做网站wordpress customize
  • 数码产品网站建设西安网站seo优化公司
  • 专业建站公司电话咨询php网站开发占比