【发布时间】:2017-10-23 01:21:48
【问题描述】:
我正在尝试下载图像,然后将图像上传到 Twitter。当我尝试下载图像时,它在应用程序完成之前不会下载,这意味着我无法将其上传到 Twitter。
我相信 node.js 是异步的,所以这是导致问题的原因。任何建议都会很棒。
下面是我的下载功能。
// downloads the image
function download(url){
var request = require('request'),
fs = require('fs'),
url = url;
count = count + 1;
request(url, {encoding: 'binary'}, function(error, response, body) {
fs.writeFile('downloaded'+ count + '.jpg', body, 'binary', function (err) {
});
});
}
我尝试过使用 writeFileSync,但这似乎不起作用。
【问题讨论】:
-
我看到了将文件下载到本地硬盘的代码。将其上传到其他地方的代码在哪里?你必须把它放在你的
fs.writeFile()完成处理程序中。仅供参考,您还可以使用流从一个输入管道传输到另一个输出。在这种情况下非常有用。 -
谢谢,是的,该功能将图像存储在我本地硬盘的主文件夹中。我会调查溪流。谢谢
-
如果您向我们展示上传代码,我们可以帮助您处理流部分。