【问题标题】:Fine Uploader S3, Large files, ERR_NAME_NOT_RESOLVEDFine Uploader S3,大文件,ERR_NAME_NOT_RESOLVED
【发布时间】:2016-01-31 07:46:42
【问题描述】:

我正在使用 Fine Uploader 直接上传到 S3。它适用于小文件,但任何大文件(如 6GB)都会在 javascript 控制台中导致以下错误: screen shot of javascript Err_name_not_resolved

我在这里上传一个名为“6gb”的文件。

这是服务器日志(Ruby on Rails)。第一次请求签名,上传part#1时:

Started POST "/signature" for 192.168.188.129 at 2016-01-31 00:51:12 +0000
Processing by UploadsController#signature as JSON
  Parameters: {"headers"=>"PUT\n\n\n\nx-amz-date:Sun, 31 Jan 2016 00:51:14 GMT\n/bv-deliverables/uploadsFolder/7c54325c-1db6-4d66-a31f-ceecb3c4ee2a.6gb?partNumber=1&uploadId=AD7mVbSzuhyC9JhgmZVu7dGEr5mJuEh8EpZTmx4Tl5M6r3ki6YDJvBqLfkDzFLQJGBpKGpzbwC8uPo7h3JGwQA--", "upload"=>{}}
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)

每个部分都重复这个到 /signature 的 POST,直到 part#133,retry.gif 被加载,并且出现 javascript 控制台中的错误。

Started POST "/signature" for 192.168.188.129 at 2016-01-31 01:34:36 +0000
Processing by UploadsController#signature as JSON
  Parameters: {"headers"=>"PUT\n\n\n\nx-amz-date:Sun, 31 Jan 2016 01:34:37 GMT\n/bv-deliverables/uploadsFolder/7c54325c-1db6-4d66-a31f-ceecb3c4ee2a.6gb?partNumber=133&uploadId=AD7mVbSzuhyC9JhgmZVu7dGEr5mJuEh8EpZTmx4Tl5M6r3ki6YDJvBqLfkDzFLQJGBpKGpzbwC8uPo7h3JGwQA--", "upload"=>{}}
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)


Started GET "/assets/retry.gif" for 192.168.188.129 at 2016-01-31 01:35:16 +0000

我相信我正确地签署了标头,因为它似乎一直工作到那部分。

我的上传速度约为每秒 2 兆比特。

这是我的 AWS CORS:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <ExposeHeader>ETag</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

这是我的 Fine 上传器 javascript:

    $('#fine-uploader-s3').fineUploaderS3({
        template: 'qq-template-s3',
        request: {
            endpoint: "https://s3.amazonaws.com/bv-deliverables",
            accessKey: "AKIAILA4KWEGIGGBAL5Q"
        },
        signature: {
            endpoint: "signature",
            customHeaders: {"X-CSRF-Token":"<%= form_authenticity_token %>"}
        },
        uploadSuccess: {
            endpoint: "create",
            customHeaders: {"X-CSRF-Token":"<%= form_authenticity_token %>"},
            params: {
                isBrowserPreviewCapable: qq.supportedFeatures.imagePreviews
            }
        },
        iframeSupport: {
            localBlankPagePath: "/server/success.html"
        },
        cors: {
            expected: true
        },
        chunking: {
            enabled: true
        },
        resume: {
            enabled: true
        },
        deleteFile: {
            enabled: false
        },
        validation: {
            itemLimit: 5,
            sizeLimit: 107374182400
        },
        objectProperties: {
            reducedRedundancy: true,
            key: function (fileId) {

                var filename = $('#fine-uploader-s3').fineUploader('getName', fileId);
                var uuid = $('#fine-uploader-s3').fineUploader('getUuid', fileId);
                console.log(fileId);
                var ext = filename.substr(filename.lastIndexOf('.') + 1);

               return  'uploadsFolder/' + uuid + '.' + ext;
            }
        },
        callbacks: {
            onComplete: function(id, name, response) {
                var previewLink = qq(this.getItemByFileId(id)).getByClass('preview-link')[0];
                location.reload();
                if (response.success) {

                    previewLink.setAttribute("href", response.tempLink)
                }
            }
        }
    });

重新添加失败的文件似乎可以在失败的地方恢复上传。

同样,它适用于小文件(如 15KB)和较小的多部分文件(如 10MB),但当我尝试上传 6GB 的大文件时出现错误。

【问题讨论】:

    标签: fine-uploader


    【解决方案1】:

    这很明显是网络问题,超出了 Fine Uploader 的控制范围。 auto retry feature,如果启用,应该尝试自动恢复。否则,您可以使用 retry API method 或可以通过 Fine Uploader UI 启用的重试按钮手动重试上传。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多