Large file uploads in iOS8 Chrome fail or hang #1401
Comments
Thanks for the report. We will begin investigating further tomorrow and will update once we know more, after some attempts to reproduce. Can you confirm that you are only seeing this behavior on iOS Chrome, and not on any other browsers? Please post your Fine Uploader JS code as well. On Wed, Apr 22, 2015 at 8:30 PM, Dallin Scherbel notifications@github.com
|
I have tested this on iOS Safari on an iPhone 5, iPhone 6, and iPhone 6 Plus. Safari works just fine. Chrome on all of these devices produces the faulty behavior. Chrome, Firefox, and IE on desktop work flawlessly also. As far as code goes, I'm working in a private repo. If you would like, I can share a few code snippets, but since I am reproducing the same problem on your website under your s3 demo, I think they are unnecessary. |
I was just able to reproduce in the latest version of Chrome on an iPhone 6+ running iOS 8.3. Chrome on iOS has been plagued with issues in general, especially since iOS8 was released. I've noticed fairly serious issues outside of Fine Uploader as well. I'll look into this further today. |
The issue, unfortunately, appears to be a(nother) fundamental flaw in iOS Chrome. I can reproduce the issue with the following code, cutting Fine Uploader out of the picture entirely: <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="file">
</body>
<script>
document.querySelector('input').addEventListener('change', function() {
var xhr = new XMLHttpRequest(),
formData = new FormData();
formData.append('qqfile', this.files[0]);
xhr.open('post', '/test/dev/handlers/traditional/endpoint.php');
xhr.onload = function() {
alert('sent');
};
xhr.send(formData);
});
</script>
</html> With a small file (around 100 kB or so), the alert is triggered, indicating that the upload has succeeded. For larger files (800 kB), the alert is only occasionally triggered. I've never seen a video upload successfully. In all cases of failure, the server reports a truncated (or possibly) empty request. Using weinre to debug iOS Chrome, I noticed that the request is stuck in the "pending" state. I guess I'll have to file a Chromium bug. |
Chromium bug filed at https://code.google.com/p/chromium/issues/detail?id=480506. |
Based on recent activity in the bug I filed, Google may be planning to address this issue in an upcoming hotfix release of iOS Chrome. |
Doesn't look like Google is going to fix this. Note that I plan on dropping support for iOS Chrome in Fine Uploader 6.0. See #1482 for details. |
This should be "fixed" in 6.0.0 when I remove support for iOS Chrome. Follow #1482 for further updates. |
I just uploaded 3 files under the "Upload Files Directly to Amazon S3" in the site demo. The first one was a snippet I recorded for around 45 seconds and it uploaded successfully (it ended up being 5.7MB). The second one was a video around 2 minutes and it did not work the first time. The uploading indicator icon just spun for a while. After waiting a bit, the retry button showed up. After clicking retry, the same file uploaded successfully (13.8MB). The third one went just like the second attempt, I recorded a 1:45 second clip this time, after finally getting the retry button again, it worked instantly (8.5MB). Can replicate this same experience on iOS 8.3 in Chrome?
The text was updated successfully, but these errors were encountered: