簡體   English   中英

通過 Google Drive API 通過簡單上傳上傳文件 (uploadType=media)

[英]Uploading file via Google Drive API with simple upload (uploadType=media)

我正在使用谷歌 API,我想將文件從 UI 下載到我的谷歌驅動器。

正如我在此處的google drive API 文檔中發現的那樣,我想使用簡單的導入。

目前我有這樣的代碼用於我的 onChange 輸入事件。

const onLoadFile = async (e: { target: { files: any } }) => {
  const fileData = e.target.files[0];

  //gapi request
  uploadFile(body);
  return null;
};

上傳文件:

const uploadFile = async (body: string) => {
  const result = await gapiRequest({
    path: `${ENDPOINT}/upload/drive/v3/files`,
    method: 'POST',
    body,
  });
  setUploadFileData(result);
};

間隙請求:

const gapiRequest = async (options: gapi.client.RequestOptions): Promise<any> =>
  new Promise<any>((resolve, reject) =>
    gapi.client.request(options).execute((res) => {
        resolve(res);
        if (!res) {
        reject(res);
      }
  })
);

我需要知道我需要為這樣的請求創建哪個請求正文。

請求body應包含一個包含元數據和文件的form ,如下所示:

const metadata = {
    "name": "yourFilename",
    "mimeType": "text/plain", // whatever is appropriate in your case
    "parents": ["folder id or 'root'"], // Google Drive folder id
};

const form = new FormData();
form.append('metadata', new Blob([JSON.stringify(metadata)], { type: 'application/json' }));
form.append('file', file); // file could be a blob or similar

您可能還需要向您的path屬性添加一個uploadType參數。 multipart值甚至適用於簡單的上傳。

另見此處: https : //stackoverflow.com/a/68595887/7821823

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM