使用
unescape(encodeURIComponent(file.name))修饰文件名即可
后台不需要更改
funUploadFile : function(file){
var self = this; // 在each中this指向没个v 所以先将this保留
var formdata = new FormData();
formdata.append("fileList", file);
var xhr = new XMLHttpRequest();
// 绑定上传事件
// 进度
xhr.upload.addEventListener("progress", function(e){
// 回调到外部
self.onProgress(file, e.loaded, e.total);
}, false);
// 完成
xhr.addEventListener("load", function(e){
// 从文件中删除上传成功的文件 false是不执行onDelete回调方法
self.funDeleteFile(file.index, false);
// 回调到外部
self.onSuccess(file, xhr.responseText);
if(self.uploadFile.length==0){
// 回调全部完成方法
self.onComplete("全部完成");
}
}, false);
// 错误
xhr.addEventListener("error", function(e){
// 回调到外部
self.onFailure(file, xhr.responseText);
}, false);
xhr.open("POST",self.url, true);
console.log(unescape(encodeURIComponent(file.name)))
xhr.setRequestHeader('X-File-Name', unescape(encodeURIComponent(file.name)));
xhr.send(formdata);
}
xhr.setRequestHeader('X-File-Name',file.name);
改
xhr.setRequestHeader('X-File-Name', unescape(encodeURIComponent(file.name)));
即可
后台不需要更改直接接收到中文路径