我正在使用BlueImp jQuery Fileupload https://github.com/blueimp/jQuery-File-Upload/
我们在包含空格,前导和尾随的文件方面遇到了一些问题。尾随是一个问题(我认为)主要是从OSX上传的文件,因为文件扩展名默认省略,导致上传的文件看起来像:“test .jpg”或“test.jpg”,然后导致问题。
我认为这将是一个相当容易的修复,只需要修改data.files中的名称值......
但事实并非如此,我在网上找不到任何直接相关的内容。也许我的谷歌今天超级弱......
我尝试在https://github.com/blueimp/jQuery-File-Upload/wiki/Options#callback-options使用回调方法,如下所示:
$('#fileupload').fileupload({
submit: function (e, data) {
// lotsacode...
}
}).bind('fileuploadadd', function (e, data) {
$.each(data.files, function (index, file) {
file.name = $.trim(file.name)
});
});
然而,这给了我:
未捕获的TypeError:无法设置仅具有getter的#的属性名称
我也尝试修改核心函数_onAdd,_onChange等等,但我遇到了同样的问题。
在Stackoverflow上寻找解决方案或想法我遇到错误的地方,如果你通过PHP使用UploadHandler-class,我发现似乎有效的解决方案,但是我们不在我们想要的位置考虑一下。所以我想知道是否有任何明显或不明显的东西让我失踪?
版本:jQuery文件上传插件5.17.1,jQuery文件上传用户界面插件6.9.5
我不需要向对象添加额外数据,而是修改默认文件数据。
祝你好运 托马斯
答案 0 :(得分:1)
根据他们的文档,您不应该在processQueue中链接您的卫生设施而不是将其绑定到回调吗?
https://github.com/blueimp/jQuery-File-Upload/wiki/Options#processqueue
我认为您可能绑定到所选的jQuery元素而不是文件上载,或者当您获得回调时,文件已被处理。
console.log(file)
在每个循环中给出了什么样的值?即。
$.each(data.files, function (index, file) {
//file.name = $.trim(file.name)
console.log(file)
});
});