我使用七牛上传文件名时发生文件名的中文乱码问题。。
PutPolicy putPolicy = new PutPolicy(BUKET_NAME);
String uptoken = putPolicy.token(mac);
PutExtra extra = new PutExtra();
IoApi.putFile(uptoken, key, file, extra);
return QiniuUtil.getUrl(key);
我进入七牛的源代码看了一下
public StringBody(
final String text,
final String mimeType,
Charset charset) throws UnsupportedEncodingException {
super(mimeType);
if (text == null) {
throw new IllegalArgumentException("Text may not be null");
}
if (charset == null) {
charset = Charset.forName("US-ASCII");
}
this.content = text.getBytes(charset.name());
this.charset = charset;
}
如果我不设置charset,它就默认把编码设为US-ASCII。有没有办法设置这个charset的值啊。
请使用最新版v6.1.0,maven已包含此版本。
编码设置为utf-8。
requestEntity.addPart("key", new StringBody(key,Charset.forName("utf-8")));
源码 https://github.com/qiniu/java-sdk/blob/v6.1.0/src/main/java/com/qiniu/api/io/IoApi.java