客户端可以在上传之前预览,但在上传后无法看到作为本地语言文件名。
所以我想在上传图片之前重命名文件名,因为它可以在上传之前和之后预览。
引用https://github.com/blueimp/jQuery-File-Upload/wiki/API
How to provide alternative file names:
The name property of File objects is read only, but an alternative name can be provided as uploadName property for each individual file:
$('#fileupload').fileupload({
add: function (e, data) {
var count = data.files.length;
var i;
for (i = 0; i < count; i++) {
data.files[i].uploadName =
Math.floor(Math.random() * 1000) + '_' + data.files[i].name;
}
data.submit();
}
});
当我使用上面的js函数时,当图像立即添加并提交给服务器时,预览功能很好〜
但是当我删除
data.submit();
因为我希望客户在上传之前决定是否上传。
缺少预览图像功能! 并且无法上传任何文件。
在提交给服务器之前,是否有任何代码可以重命名unicode文件名(因为本地语言encoing文件名在上传时无法显示在预览函数上)?
答案 0 :(得分:0)
jquery.fileupload.js ....
} else {
$.each(options.files, function (index, file) {
// This check allows the tests to run with
// dummy objects:
if (that._isInstanceOf('File', file) ||
that._isInstanceOf('Blob', file)) {
formData.append(
($.type(options.paramName) === 'array' &&
options.paramName[index]) || paramName,
file,
file.uploadName || file.name
);
}
});
}
}
更改最后一次
file.uploadName || file.name
到
encodeURI(file.uploadName || file.name)
然后可以在后面看到写入解码 fileName = URLDecoder.decode(fileDetail.getFileName(),&#34; UTF-8&#34;);