使用MultipartEntityBuilder进行文件上传时,如果不设置mode,则默认使用的时STRICT,此时会导致传输后文件名称乱码,将mode设置成BROWSER_COMPATIBLE即可解决。
HttpPost uploadFile = new HttpPost(uploadApi);
MultipartEntityBuilder builder = MultipartEntityBuilder.create()
.setCharset(StandardCharsets.UTF_8) // 同时设置Charset和Mode
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);// 这里设置成BROWSER_COMPATIBLE
builder.addBinaryBody("file", new ByteArrayInputStream(binary), ContentType.MULTIPART_FORM_DATA,
fileName);