google-cloud-storage – Google云存储文件上传 – 找不到请求的页面. [404]

我正在尝试使用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);
        }
    });

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

最佳答案
这是正确的URL,只要您用实际的存储桶名称替换mybucket即可.阅读完jquery.ajax()之后,我通过添加& callback = foo来模拟我认为的行为,由于dataType:’jsonp’和& _ = 1474410231688因为cache:false,并且通过curl发出请求并且生成了有效具有有效回调的对象.你能记录整个jqXHR以查看更多状态吗?

转载注明原文:google-cloud-storage – Google云存储文件上传 – 找不到请求的页面. [404] - 代码日志