小编Vla*_*hny的帖子

jQuery文件上传:无法在Safari 11中上传文件

重现Safari 11中的错误的步骤:

  1. 在标题中创建一个带有西里尔字母的文件夹,例如"русский_язык"
  2. 将一些文件添加到该文件夹
  3. 在Safari 11.1浏览器中打开https://blueimp.github.io/jQuery-File-Upload/
  4. 从该文件夹上传文件

实际结果:文件未上传.

为了更好地理解,请观看Safari 11的视频:https://drive.google.com/open?id = 16tU8iBn0U9bUs7u5pM4ZBXmxpfJIv8WV

尝试上传相同的文件,但使用Safari 10.

实际结果:一切都很好,文件上传没有任何问题.

为了更好地理解,请观看Safari 10的视频:https://drive.google.com/open?id = 1IO--Y1RjETAYAucaNyqhM6HZcQdNKDkI

更新28.05.2018 经过crossbrowsertesting.com几个小时的debagging(因为我没有safari)我找到了临时解决方案:在这一行https://github.com/blueimp/jQuery-File-Upload/blob/master/ js/jquery.fileupload.js#L1182需要替换

entries = fileInput.prop('webkitEntries') ||  fileInput.prop('entries')
Run Code Online (Sandbox Code Playgroud)

entries = []
Run Code Online (Sandbox Code Playgroud)

一切都应该有效.

我想这是因为苹果添加到safari实验功能 - FileSystemEntry.有关此功能的更多信息,请访问https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry.

如果entries变量为空,则jquery.fileupload.js将使用经过良好尝试的files属性来获取上传的文件.查看代码https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js#L1189了解更多详情

我还向Safari和Sebastian Tschan(该库的作者)报告了一个错误

jquery file-upload blueimp

5
推荐指数
1
解决办法
1838
查看次数

标签 统计

blueimp ×1

file-upload ×1

jquery ×1