【发布时间】:2023-03-19 22:24:01
【问题描述】:
我想要
- 下载图片文件,然后
- 将图像文件上传到 Google 云端硬盘
var async = require('async');
var fileToUpload = require('./FileToUpload.js');
var fu;
async.waterfall([
function (callback) {
/*** At first, download image file ***/
fu = new fileToUpload.FileToUpload('http://weed.cocolog-nifty.com/wzero3es/images/scrn0000_1.jpg');
callback(null, fu);
},
function (arg, callback) {
/*** Secondary, upload the image file to Google Drive ***/
arg.uploadToGoogleDrive();
callback(null, 'done');
}
]);
- 没有没有错误,并且
- Google 的响应是文件上传成功。
- 在 Google 云端硬盘中,有 新文件
- 但数据已损坏,因此我无法打开图片。
另外,下载和上传分开,没问题。我可以在 Google Drive 中打开上传的图片。
【问题讨论】:
-
什么是 fileToUpload ?这是你的实现还是 npm 包?
-
我认为您的第一个回调(下载图像文件)函数在您的 fileToUpload.FileToUpload 函数完成其操作之前进行
-
我很确定您的 FileToUpload() 函数包含异步函数,因为它与 I/O 相关。如果是这样,您需要在上传过程完成后在 FileToUpload() 函数中执行异步瀑布的回调,这发生在上传文件函数的回调中。如果您仍然不明白,请将您的完整 FileToUpload() 代码添加到问题中,也许我们可以提供帮助
标签: javascript node.js asynchronous google-drive-api