1. 使用<input/>标签的name属性记录编码后的文件名
提交表单时,使用js更改name属性
function submitForm(){
var files = document.getElementsByName("file");
for(var i=0;i<files.length;i++){
if(files[i].vlaue.length>0){
files[i].name=encodeURI(files[i].value.substring(files[i].value.lastIndexOf("//")));
}
}
document.form1.submit();
}
2. 保存文件
使用com.jspsmart.upload.File类的getFileName()方法获取文件名,然后对文件名进行解码;
String fileName = URLDecoder.decode(file.getFieldName(),"UTF-8");
file.saveAs("/upload/" + fileName);