在jQuery BlueImp上传器中删除文件名中的空格

时间:2015-11-24 15:42:24

标签: javascript jquery file-upload blueimp

我正在使用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

我不需要向对象添加额外数据,而是修改默认文件数据。

祝你好运 托马斯

1 个答案:

答案 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)
     });
});