如何使用 Javascript 将 plain/text 文件上传到 google 驱动器?
How to upload a plain/text file to google drive using Javascript?
如何将此 blob
文件上传到 Google 驱动器文件夹,我的文件夹 ID 为:
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 and ) 之后,我找到了部分结合这些问题的解决方案:
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);
});
}
如何将此 blob
文件上传到 Google 驱动器文件夹,我的文件夹 ID 为:
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 and
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);
});
}