[英]how to upload file to google drive using sdk in 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
值甚至適用於簡單的上傳。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.