Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 504 jQuery文件上传错误?_Javascript_Jquery_File Upload_Amazon S3 - Fatal编程技术网

Javascript 504 jQuery文件上传错误?

Javascript 504 jQuery文件上传错误?,javascript,jquery,file-upload,amazon-s3,Javascript,Jquery,File Upload,Amazon S3,我使用API插件上传大小文件到S3。我正在向服务器发送一个PUT请求,该服务器处理S3上传。我的代码如下: // Initialize the file upload so we don't get errors angular.element(document.querySelector('#add-file-btn')).fileupload({ url: '/test' }); // Set up o

我使用API插件上传大小文件到S3。我正在向服务器发送一个PUT请求,该服务器处理S3上传。我的代码如下:

        // Initialize the file upload so we don't get errors
        angular.element(document.querySelector('#add-file-btn')).fileupload({
            url: '/test'
        });

        // Set up options for file upload
        angular.element(document.querySelector('#add-file-btn')).fileupload(
            'option',
            {
                        url: '/temp',                   // Temporary, replaced in handleAdd
                        type: 'PUT',
                        dataType: 'json',
                        dropZone: 'dropzone-area',
                        acceptFileTypes: /(\.|\/)(csv|jpe?g|png)$/i,    // Only accept csv files (images enabled for testing)
                        progressInterval: 2000,         // Check progress every 2 seconds
                        autoUpload: true,
                        paramName: 'files',
                        formData: {
                            fileSize: null
                        },
                        beforeSend: function(xhr, data) {
                            // Set request headers
                            xhr.setRequestHeader('Authorization', 'bearer ' + storageService.get('token'));
                            xhr.setRequestHeader('Accept', 'application/json ');
                        },
                        multipart: true,                
                        add: handleAdd,
                        submit: handleSubmit,
                        progress: handleProgress ,
                        processdone: handleProcessDone,
                        processfail: handleProcessFail,
                        start: handleStart,
                        stop: handleStop,
                        done: handleDone
            }
        );
当我上传一个小文件(200 KB)时,文件被成功上传。当我尝试上载一个大文件(2.66 GB)并记录handleProgress()函数中显示的进度时,我看到进度会挂起几分钟,然后它会快速记录最后一个进度,因此在它100%完成后,我看到返回了504网关超时错误

function handleProgress(e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        data.files[0].progress = progress;
        console.log(progress)
}

后端的家伙说他的代码可以通过命令行上传大文件,所以我们试图找出为什么它不能通过浏览器工作。有什么想法吗?我知道504错误应该只是一个服务器端问题,但令人困惑的是,它适用于CLI…

您是否尝试过使用Chrome开发工具网络选项卡?您可以将webapp中的示例请求复制为curl,然后从命令行重新运行它,并将curl请求命令与后端工程师的请求进行比较。结果是否因主机而异?例如,如果您在与后端相同的主机上运行命令,会怎么样?@我是否已经尝试过,并且事实上已经开始上传工作了。当我去掉很多控制台日志记录和事件广播并将其放入CodePen中时,它就工作了。然而,并非总是如此。有时仍然会出现504个错误。在我自己的代码中(在我的应用程序中,而不是在CodePen中),情况也是如此。有时有效,有时无效。不确定我是否应该为这个问题提出新问题。。。