Steps to reproduce the bug in Safari 11:
- Create a folder with Cyrillic letters in the title, for example "русский_язык"
- Add some files to the folder
- Open https://blueimp.github.io/jQuery-File-Upload/ in Safari 11.1 browser
- Upload file from that folder
Actual result: file was not uploaded.
For a better understanding, watch the video for Safari 11: https://drive.google.com/open?id=16tU8iBn0U9bUs7u5pM4ZBXmxpfJIv8WV
Try to upload the same file but use Safari 10.
Actual result: all is good, file was uploaded without any problems.
For a better understanding, watch the video for Safari 10: https://drive.google.com/open?id=1IO--Y1RjETAYAucaNyqhM6HZcQdNKDkI
Update 28.05.2018 After a few hours of debagging via crossbrowsertesting.com (because I do not have safari) I found temporary solution: on this line https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js#L1182 need to replace
entries = fileInput.prop('webkitEntries') || fileInput.prop('entries')
to
entries = []
And everything should works.
I guess it happened becasuse apple added to safari experimental feature - FileSystemEntry. More info about this feature https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry.
If entries
variable will be empty jquery.fileupload.js will use
well-tried files
attribute for getting uploaded files. Look to code https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js#L1189 for more details
Also I report a bug to Safari and to Sebastian Tschan (author of this library)