嘿,由于 google 云端硬盘正在更改其库,我无法使用基本上传功能上传大于 5MB 的文件创建驱动器文件。文档告诉我,我必须选择可恢复上传。但谷歌驱动器没有提供任何示例代码,而且我在谷歌上找不到任何内容。
也许重要的是要知道我可以使用以下命令上传小于 5MB 的文件创建驱动器文件
所以auth是没有问题的。
https://developers.google.com/drive/v3/web/resumable-upload
我写了这个 POST 请求(也不适用于 PUT):
var fs = require('fs')
var request = require('request')
var file = 'C:\\test\\sample.container'
var uploadUrl = 'https://www.googleapis.com/drive/v3/files?uploadType=resumable'
var stats = fs.statSync(file)
var fileSizeInBytes = stats["size"]
fs.readFile(file, function read(e, f) {
if (e) {
console.log(e)
return;
}
request.post({
url: uploadUrl,
headers: {
'Authorization': 'xxxxxxxxxxxxxxxxxxxxxxx',
'Content-Length': fileSizeInBytes,
'Content-Type': 'application/octet-stream'
},
body: f,
}, function(e, r, b) {
if (e) {
console.log(e)
return;
}
console.log(`
Response: ${ JSON.stringify(r) }
Body: ${ b }
`)
});
});
但我得到的结果是:
<HTML>
<HEAD>
<TITLE>Request Entity Too Large</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Request Entity Too Large</H1>
<H2>Error 413</H2>
</BODY>
</HTML>
如果我使用请求 url 代替:https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable
我也收到了与正文结果类似的消息:请求太大。
那么有人有一个可以使用可恢复上传或基本上传来上传文件的工作代码吗?或者还有其他上传大文件的方法吗?我愿意接受替代方案!谢谢