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