用HttpClient5多次上传PDF文件到OSS时,头文件信息被多次追加问题

Posted 信尚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用HttpClient5多次上传PDF文件到OSS时,头文件信息被多次追加问题相关的知识,希望对你有一定的参考价值。

问题:
--jSRKAk3FJXTrWcxiPofHkPefUfGXvS
Content-Disposition: form-data; name="fileName"; filename="fileName.pdf"
Content-Type: application/octet-stream
--wGvKUCX0qMYy2I_hutbHcUsaZubpm53D
Content-Disposition: form-data; name="fileName"; filename="fileName.pdf"
--wGvKUCX0qMYy2I_hutbHcUsaZubpm53D--
--jSRKAk3FJXTrWcxiPofHkPefUfGXvS--

结论:使用MultipartEntityBuilder构建时,
会给Request中的Head增加 Content-Disposition contentType
今后多文件上传时可能会用到,需要注意

MultipartEntityBuilder build2 = MultipartEntityBuilder.create();
build2.addBinaryBody(null, file);

解决:单文件上传时,使用EntityBuilder
不会给Request中的Head增加 Content-Disposition
它设置了contentType contentEncoding

EntityBuilder builder = EntityBuilder.create();
HttpEntity httpEntity = builder.setFile(file).build();

以上是关于用HttpClient5多次上传PDF文件到OSS时,头文件信息被多次追加问题的主要内容,如果未能解决你的问题,请参考以下文章

OSS上传文件

javascript 上传文件到阿里云的oss,上传文件成功后怎么获取文件的真实路径?

tp5 用 oss文件上传

Laravel 文档多次上传未保存到数据库

百度的Ueditor上传到七牛,oss等第三方存储的通用方法(php版)

百度的Ueditor上传到七牛,oss等第三方存储的通用方法(php版)