解决HttpClient的FilePart上传文件中使用中文名称文件名乱码问题,我当时在网上找了一遍,网上都是

public class CustomFilePart extends FilePart {     
    public CustomFilePart(String filename, File file)     
            throws FileNotFoundException {     
        super(filename, file);     
    protected void sendDispositionHeader(OutputStream out) throws IOException {     
        super.sendDispositionHeader(out);     
        String filename = getSource().getFileName();     
        if (filename != null) {     
            out.write(EncodingUtil.getAsciiBytes(FILE_NAME));     
            out.write(QUOTE_BYTES);     
            out.write(EncodingUtil.getBytes(filename, "utf-8"));     
            out.write(QUOTE_BYTES);     

直接用这个,传送过去的时候还是乱码,需要对其进行重写
下面是重写的代码

*解决中文文件名乱码 public class CustomFilePart extends FilePart { public CustomFilePart(String filename, File file) throws FileNotFoundException { super(filename, file); @Override protected void sendDispositionHeader(OutputStream out) throws IOException { out.write(CONTENT_DISPOSITION_BYTES); out.write(QUOTE_BYTES); out.write(EncodingUtils.getBytes(getName(), "utf-8")); out.write(QUOTE_BYTES); String filename = getSource().getFileName(); if (filename != null) { out.write(EncodingUtil.getAsciiBytes(FILE_NAME)); out.write(QUOTE_BYTES); out.write(EncodingUtil.getBytes(filename, "utf-8")); out.write(QUOTE_BYTES); 重写后,上传的附件名才正确的显示出来 上传附件到法务系统返回的{ "code" : "0", "msg" : "Success", "errMsg" : "Success", "timestamp" : "2020-03-24 11:39:14.423", "data" : { "fileId" : "1242294878479568897", "fileSize" : "195294", "fileName" : "重点强调:新员工入职(1).pdf" 解决HttpClient的FilePart上传文件中使用中文名称文件名乱码问题,我当时在网上找了一遍,网上都是public class CustomFilePart extends FilePart { public CustomFilePart(String filename, File file) throws FileNotFoundEx...
spring webflux 系列之 上传文件到七牛云篇(不用本地创建文件直接内存上传) 本次我介绍springboot 下 webflux 上传文件到七牛云; 网上基本上全部教程都是创建本地文件 才去上传七牛云 又要删除本地文件; 所以我直接放在内存里面 上传 代码如下: //写法一:Mono<FilePart> @PostMapping("/upload") public Mono<Response> uploadFile(@RequestPart(val
&lt;html&gt; &lt;body&gt; &lt;form action="/upload" method="POST" enctype="multipart/form-data"&gt; &lt;input type="file" name="file"/&gt; &lt;input typ
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ByteArrayResource; import or...
form-data 文件的基本形式 1、请求体需分隔符:-----------------------------152909417026772332233306781192来组装。一个分隔符下一个请求参数。分隔符是随机的。 2、最后一个参附上文件描述和文件的字节流 3、以分隔符加--标记结尾: -----------------------------152909417026772 public class UploadConfig { //显示声明CommonsMultipartResolver为mutipartResolver @Bean(name = "multipartResolver") public MultipartResolver multipartResolver() {
FilePart支持的文件类型包括:图像(JPG、PNG、GIF、BMP)、文档(DOC、DOCX、PPT、PPTX、XLS、XLSX、PDF)、音频(MP3、WAV、WMA)、视频(MP4、AVI、WMV)、网页(HTML、HTM)以及压缩文件(ZIP、RAR)。
在开发,前端上传的文件流,在后台接口通常是用MultipartFile类型的流格式接收,但是接收到的文件流往往不能满足我们的使用要求,我们需要转为File类型的文件流再去读取文件的宽高,大小等属性进行压缩上传等操作。本工具类为大家分享具体实现过程。接口规范:接收前端传的文件流,以及指定的目标压缩宽高,和压缩完需要上传到的指定目录。 首先封装一个动态生成文件目录的文件路径工具类 packa...
使用 HttpClient 进行 post 请求时,出现乱码问题,可能是因为在创建 StringEntity 对象时,没有指定字符集编码。可以尝试在创建 StringEntity 对象时,指定字符集编码为 UTF-8,例如: StringEntity entity = new StringEntity(jsonStr, "UTF-8"); 其,jsonStr 为需要发送的 json 字符串。另外,还可以在创建 UrlEncodedFormEntity 对象时,指定字符集编码为 UTF-8,例如: UrlEncodedFormEntity entity = new UrlEncodedFormEntity(kvList, "UTF-8");