5

GoogleドライブAPIバージョン3でリクエストを送信しています。 私はBase64イメージを持っています。APIを使用してGoogleドライブでアップロードしたファイルを開くことができません

Object {kind: "drive#file", id: "0B0jyCEQS7DFib19iX2FLYm1yR28", name: "MyFileTitle", mimeType: "image/jpeg"}は、だから私は、私は正常にファイルをアップロードしたことを、ここで仮定: 私はこのメッセージをCONSOLE.LOG、その要求に

var callback = function(ret, raw) { 
    var obj = $.parseJSON(raw); 
    self.uploadUrl = obj.gapiRequest["data"]["headers"]["location"]; 
    const boundary = '-------314159265358979323846'; 
     const delimiter = "\r\n--" + boundary + "\r\n"; 
     const close_delim = "\r\n--" + boundary + "--"; 

     var reader = new FileReader(); 
     reader.readAsBinaryString(data); 
     reader.onload = function(e) { 
     console.log(reader.result); 
     var contentType = data.type || 'application/octet-stream'; 
     var metadata = { 
      'name': data.name, 
      'mimeType': contentType 
     }; 

     var base64Data = btoa(reader.result); 
     var multipartRequestBody = reader.result; 
     console.log(self.uploadUrl); 
     var request = gapi.client.request({ 
      'path': self.uploadUrl.replace('https://www.googleapis.com', ''), 
      'method': 'PUT', 
      'headers': { 
       'Authorization': 'Bearer ' + self.state.token, 'Content-Length': data.size, 'Content-Type': data.type 
      }, 
      'body': multipartRequestBody}); 
      var callback2 = function(file) { 
      console.log(file) 
      }; 
     request.execute(callback2); 
     } 

    }; 

、このコードを持っています。しかしGoogleドライブでファイルをチェックすると開くことができません。ファイルのプレビューもありません。私はまだファイルを開くことができません、ファイルをダウンロードしました。ここで何が間違っていますか?誰でも私を助けることができますか?

これは、要求ペイロードは、このようなもので、

ÿØÿàJFIFHHÿÛC  ... 

はまだ開くことができません

Authorization:Bearer <MY_TOKEN> 
Content-Type:image/jpeg 
Origin:https://content.googleapis.com 
X-Requested-With:XMLHttpRequest 

uploadType:resumable 
upload_id:AEnB2UoIhN3QtsUc1qLW5N_3yG-NOyl9Nm-maYY7T5X4dQbMK_hxu9M-E9L1247jeLEtRQJd8w8IA_GH_6HSWbNrFnocfmt31-oA0iXXHTcZE7k2aIIAvHQ 

、これは私のリクエストヘッダで、

Request URL:https://content.googleapis.com/upload/drive/v3/files?uploadType=resumable&upload_id=AEnB2UoIhN3QtsUc1qLW5N_3yG-NOyl9Nm-maYY7T5X4dQbMK_hxu9M-E9L1247jeLEtRQJd8w8IA_GH_6HSWbNrFnocfmt31-oA0iXXHTcZE7k2aIIAvHQ 
Request Method:PUT 
Status Code:200 
Remote Address:216.58.197.170:443 

レスポンスヘッダーですファイル。

これは、上記のコードは、ファイルの作成です

submitForm(e){ 
e.preventDefault(); 
var data = this.refs.file.files[0]; 
var self = this; 
var metadata = { 
    'Content-Length': data.size, 
    'name': data.name 
}; 

var contentType = data.type; 
var multipartRequestBody = JSON.stringify(metadata); 
var request = gapi.client.request({ 
    'path': '/upload/drive/v3/files', 
     'method': 'POST', 
    'params': {'uploadType': 'resumable'}, 
    'headers': { 
      'Authorization': 'Bearer ' + self.state.token, 'Content-Type': 'application/json; charset=UTF-8', 'X-Upload-Content-Type': data.type, 'X-Upload-Content-Length': data.size 
     }, 
    'body': multipartRequestBody}); 

var callback = ... 

request.execute(callback); 
} 

、ファイルの作成です。多分この問題がこの部分にあるので、私はそれを追加しました。

+0

明らかにするには、ファイルはGoogleドライブにありますが、そのコンテンツを開くことはできません。あなたがそれをダウンロードするとき、そのサイズは何ですか?そのサイズは元のイメージとどのように比較されますか?エディタや16進エディタを使ってダウンロードを見てみましたか? – pinoyyid

+0

ファイルには、マルチパートリクエスト本文のテキストがあります。 – JMA

+0

あなたの古いコードを変更する前に、[BASE64]を "base64"に変更して[このスレッド]でデモンストレーションしてみることはできますか?(http://stackoverflow.com/questions/11923927/upload-a-file-to-google -drive-api-using-html5)? – noogui

答えて

0

オブジェクト{種類: "ドライブ#ファイル"、ID: "0B0jyCEQS7DFib19iX2FLYm1yR28"、名称: "MyFileTitle"、MIMEタイプ: "画像/ JPEG"}

注型image/jpegのファイルをアップロードします名前はMyFileTitleです。私はあなたがそれが何であるかわからない場合は、ファイルを開くことができないドライブを混乱させていると思います。

MyFileTitle.jpgに変更してください。

関連する問題