fineuploader - 无效的策略文档或请求标头错误

时间:2018-01-31 18:09:41

标签: javascript php amazon-s3 fine-uploader

我正在尝试使用跨域签名设置Fine-uploader s3。我已经苦苦挣扎了两个星期了,浏览互联网上的每篇文章仍然无法让它发挥作用。我夸张地说,非常沮丧。我开始质疑每一行代码而我无处可去......

我一直在浏览器控制台中收到以下错误:

XHR finished loading: OPTIONS "https://myserver.com/vendor/fineuploader/php-s3-server/endpoint-cors.php?v4=true".
util.js:241 [Fine Uploader 5.15.6] Invalid policy document or request headers!
XHR finished loading: POST "https://myserver.com/vendor/fineuploader/php-s3-server/endpoint-cors.php?v4=true".
util.js:241 [Fine Uploader 5.15.6] Policy signing failed.  Invalid policy document or request headers!

我正在使用github上的fineuploader提供的php服务器来签署文档。在这里,我设置了常量并修改了

'access-control-allow-origin: https://myserver.com' and 'access-control-allow-credentials: true'.

我的javascript上传脚本客户端看起来像这样。

var uploader = new qq.s3.FineUploader({
  element: document.getElementById("uploader"),
  debug: true,
    request: {
        endpoint: 'BUCKET_NAME.s3-accelerate.amazonaws.com',
        accessKey: 'ACCESS_KEY'
    },
    cors: {
        //all requests are expected to be cross-domain requests
        expected: true,
      //if you want cookies to be sent along with the request
        sendCredentials: true
    },
    objectProperties: {
        bucket: 'BUCKET_NAME',
        host: 's3-accelerate.amazonaws.com' // only needed for version 4 signatures
    },
    signature: {
      endpoint: 'https://myserver.com/vendor/fineuploader/php-s3-server/endpoint-cors.php',
      version: 4
    },
    uploadSuccess: {
        endpoint: 'https://myserver.com/vendor/fineuploader/php-s3-server/endpoint-cors.php?success'
    },
    iframeSupport: {
        localBlankPagePath: '/success.html'
    },
    validation: {
        allowedExtensions: ["jpeg", "jpg", "png"],
        acceptFiles: "image/jpeg, image/png",
        sizeLimit: 10000000,
        itemLimit: 1
    },
    retry: {
        enableAuto: true // defaults to false
    },
    paste: {
        targetElement: document,
        promptForName: true
    }
});

这是我的标题信息

Request URL:https://MYSERVER.com/vendor/fineuploader/php-s3-server/endpoint-cors.php?v4=true
Request Method:OPTIONS
Status Code:200 OK
Remote Address:MY_IP
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Methods:OPTIONS
Access-Control-Allow-Origin:https://MY_WEBSITE.com
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=UTF-8
Date:Wed, 31 Jan 2018 17:45:06 GMT
Host:127.0.0.1:8000
Server:nginx/1.10.3 (Ubuntu)
Transfer-Encoding:chunked
X-Powered-By:PHP/7.0.22-0ubuntu0.16.04.1
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:da-DK,da;q=0.9,en-US;q=0.8,en;q=0.7
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:aeoeaa.club
Origin:https://MY_WEBSITE.com
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Query String Parameters
view source
view URL encoded
v4:true

Request URL:https://MYSERVER/vendor/fineuploader/php-s3-server/endpoint-cors.php?v4=true
Request Method:POST
Status Code:200 OK
Remote Address:MY_IP
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:https://MYWEBSITE.com
Connection:keep-alive
Content-Type:application/json
Date:Wed, 31 Jan 2018 17:45:07 GMT
Host:127.0.0.1:8000
Server:nginx/1.10.3 (Ubuntu)
Transfer-Encoding:chunked
X-Powered-By:PHP/7.0.22-0ubuntu0.16.04.1
Request Headers
view source
Accept:application/json
Accept-Encoding:gzip, deflate, br
Accept-Language:da-DK,da;q=0.9,en-US;q=0.8,en;q=0.7
Connection:keep-alive
Content-Length:461
Content-Type:application/json; charset=UTF-8
Host:MYSERVER.com
Origin:https://MYWEBSITE.com
Referer:https://MYWEBSITE.com/pages/testpage
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Query String Parameters
view source
view URL encoded
v4:true
Request Payload
view source
{expiration: "2018-01-31T17:50:06.323Z",…}
conditions
:
[{acl: "private"}, {bucket: "MY_BUCKET_NAME"}, {Content-Type: "image/jpeg"},…]
expiration
:
"2018-01-31T17:50:06.323Z"

一切都应该有效,但我仍然会遇到同样的错误。我不想要任何复杂的功能。我只想简单上传到s3。但这似乎不可能。我很乐意提供更多信息。完成任务的任何事情。我甚至会把一瓶酒送给解决它的人。我没有做任何帮助......

0 个答案:

没有答案