IDEA HttpClient文件上传请求

IDEA HttpClient文件上传请求

###
POST http://localhost:8080/uploadFile
Content-Type: multipart/form-data; boundary=WebAppBoundary
Authorization: xxxxx

--WebAppBoundary
Content-Disposition: form-data; name="file"; filename="test.xlsx"
Content-Type: multipart/form-data

#文件地址(与.http文件同目录同级或者后续二进制流)
< test.xlsx

--WebAppBoundary--

以上有换行的地方是必须的,最后的--WebAppBoundary--这一行标志着请求体的结束。

解释
请求 URL:
修改了请求 URL 为 /importExcel,以匹配您的控制器方法。

Content-Type:
保持了 Content-Type 为 multipart/form-data,并指定了边界字符串 WebAppBoundary。
Content-Type 为 text/plain,这是对于纯文本字段的标准类型。

Content-Disposition
标头指定了字段名称 file 和文件名 test.xlsx。

< test.xlsx
表示实际的文件内容。在实际请求中,这里应该是 .xlsx 文件的内容。


但我们在controller的接口处自动生成http时会出现这种情况

POST http://localhost:8080/uploadFile?
    file={{$random.alphanumeric(8)}}
Content-Type: application/x-www-form-urlencoded

和文章开头那种写法的主要区别

  • Content-Type:
    • 第二种请求使用了 application/x-www-form-urlencoded,适用于发送标准的键值对表单数据。
    • 第一种请求使用了 multipart/form-data,适用于发送文件和其他非文本数据。
  • 请求体结构:
    • 第二种请求的请求体是一个简单的键值对,适合发送普通的表单数据。
    • 第一种请求的请求体是一个多部分的结构,允许发送包括文件在内的多种类型的数据。
  • 文件上传:
    • 第二种请求没有提供文件上传的能力,因为文件数据不适合放在 URL 查询参数或 application/x-www-form-urlencoded 请求体中。
    • 第一种请求明确支持文件上传,通过 multipart/form-data 格式发送文件数据。

结论
如果需要上传文件,应使用第一种请求格式,即 multipart/form-data。这种方式是上传文件的标准做法,并且被广泛支持。第二种请求格式不适合上传文件,仅适用于发送简单的键值对表单数据。


可以参考
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST

https://www.cnblogs.com/fugitive/p/13606288.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值