编程语言
首页 > 编程语言> > java-在MultipartEntityBuilder中编码文件名

java-在MultipartEntityBuilder中编码文件名

作者:互联网

我正在尝试使用HttpPost和MultipartEntityBuilder的文件上传API.以下是我使用的代码.

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(MIME.UTF8_CHARSET);
builder.addBinaryBody(<fileFieldName>, <byteArray>, ContentType.TEXT_PLAIN, <fileName>);

文件正确上传.但是,如果文件名包含非ASCII字符,则会以“ ????.jpg”名称上传.尝试了此处提供的解决方案https://stackoverflow.com/a/25870301/3271472.但是它没有解决我的问题.请协助.

解决方法:

这为我工作:

MultipartEntityBuilder b = MultipartEntityBuilder.create();
b.addPart("file", new FileBody(<FILE>, <CONTENTTYPE>, <FILENAME>)).setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
b.setCharset(StandardCharsets.UTF_8);

只需替换<>与您的价值观…

标签:utf-8,multipartentity,java
来源: https://codeday.me/bug/20191112/2024122.html