Google云端存储文件上传 - 找不到请求的页面。 [404]

时间:2016-09-07 12:09:50

标签: google-cloud-storage google-cloud-platform

我正在尝试使用Json API将文件上传到Google云端存储。我将请求发布到带有文件附件的url下面。

https://www.googleapis.com/upload/storage/v1/b/mybucket/o?uploadType=media&name=solarsystemlrg.png

但是我找不到请求的页面。 [404]错误。当我使用下面的Url时,我能够列出存储在存储桶中的图像(只是为了确保没有访问问题并且存储桶名称是正确的)。

https://www.googleapis.com/storage/v1/b/mybucket/o

我已经设置了标题。

'Authorization' :'Bearer ' + accessToken,
'Content-Type' : contentType,
'Content-Length' : inputFile.size

请在下面找到代码段。

        $.ajax({
        url: targetUrl,
        headers: reqHeaders,
        type: 'POST',
        data: reqFormWithDataFile,
        async: false,
        cache: false,
        dataType: 'jsonp',
        useDefaultXhrHeader: false,
        processData: false,
        success: function (response) {

                alert('File Upload Successful');

        },
        error: function (jqXHR, exception) {
            var msg = '';
            if (jqXHR.status === 0) {
                msg = 'Not connect.\n Verify Network.';
            } else if (jqXHR.status == 404) {
                msg = 'Requested page not found. [404]';
            } else if (jqXHR.status == 500) {
                msg = 'Internal Server Error [500].';
            } else if (exception === 'parsererror') {
                msg = 'Requested JSON parse failed.';
            } else if (exception === 'timeout') {
                msg = 'Time out error.';
            } else if (exception === 'abort') {
                msg = 'Ajax request aborted.';
            } else {
                msg = 'Uncaught Error.\n' + jqXHR.responseText;
            }
            alert(msg);
        }
    });

我是否需要使用其他网址?或者是否还需要其他设置?请帮忙。

1 个答案:

答案 0 :(得分:0)

这是正确的网址,只要您用实际的存储桶名称替换mybucket即可。在阅读了jquery.ajax()之后,我通过添加&callback=foo来模仿我认为的行为,因为dataType: 'jsonp'&_=1474410231688因为cache: false,并通过curl,它产生了一个有效回调的有效对象。您可以记录整个jqXHR以查看更多状态吗?