如何使用Javascript将简单/文本文件上传到谷歌驱动器?
问题描述:
我怎么能这样blob
文件上载到我的文件夹ID的谷歌云端硬盘文件夹:如何使用Javascript将简单/文本文件上传到谷歌驱动器?
var blob = new Blob([credentialText], {
type: "text/plain;charset=utf-8;",
});
文档似乎很不清楚。我已经检查了这个link,但是没有我如何提出请求的例子......我也检查了CORS请求,但没有帮助。我这样失去:(
在此先感谢
我想这和它的工作:
var createFile = function(name,text,parentId) {
var auth_token = $rootScope.accessToken;
const boundary = '-------314159265358979323846';
const delimiter = "\r\n--" + boundary + "\r\n";
const close_delim = "\r\n--" + boundary + "--";
var mimeType = 'text/plain';
var metadata = {
"name" : name,
"mimeType": 'text/plain',
"parents": [parentId]
};
var multipartRequestBody =
delimiter + 'Content-Type: application/json\r\n\r\n' +
JSON.stringify(metadata) +
delimiter + 'Content-Type: application/json\r\n\r\n' +
text +
close_delim;
gapi.client.request({
'path': '/upload/drive/v3/files/',
'method': 'POST',
'params': {'uploadType': 'multipart'},
'headers': { 'Content-Type': 'multipart/form-data; boundary="' + boundary + '"', 'Authorization': 'Bearer ' + auth_token, },
'body': multipartRequestBody
}).execute(function(file) {
console.log(file);
console.log("Wrote to file " + file.name + " id: " + file.id);
}, function(error){
console.log(error);
});
}
答
在这两个以前的问题(here和here)挖后,我发现了一个解决方案通过部分地结合这些问题:
var createTxtFile = function(name,text,parentId) {
var auth_token = $rootScope.accessToken;
const boundary = '-------314159265358979323846';
const delimiter = "\r\n--" + boundary + "\r\n";
const close_delim = "\r\n--" + boundary + "--";
const mimeType = 'text/plain';
var metadata = {
"name" : name,
"mimeType": mimeType,
"parents": [parentId]
};
var multipartRequestBody =
delimiter + 'Content-Type: application/json\r\n\r\n' +
JSON.stringify(metadata) +
delimiter + 'Content-Type:'+ mimeType+'\r\n\r\n' +
text +
close_delim;
gapi.client.request({
'path': '/upload/drive/v3/files/',
'method': 'POST',
'params': {'uploadType': 'multipart'},
'headers': { 'Content-Type': 'multipart/mixed; boundary="' + boundary + '"', 'Authorization': 'Bearer ' + auth_token, },
'body': multipartRequestBody
}).execute(function(file) {
console.log(file);
console.log("Wrote to file " + file.name + " id: " + file.id);
}, function(error){
console.log(error);
});
}