【问题标题】:nodejs download image with superangent ,check the file sizenodejs用superangent下载图像,检查文件大小
【发布时间】:2016-11-20 13:10:32
【问题描述】:
...
superagent
            .get(req.body.img)
            .set('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36')
            .pipe(fs.createWriteStream(filePath));
console.log(fs.statSync(filePath));
...

输出是 {"dev":2049,"mode":33204,"nlink":1,"uid":1000,"gid":1000,"rdev":0,"blksize":4096,"ino":6578368,"大小":0,"块":0,"atime":"2016-07-18T02:46:12.845Z","mtime":"2016-07-18T02:46:12.845Z","ctime":" 2016-07-18T02:46:12.845Z","生日":"2016-07-18T02:46:12.845Z"}

为什么文件大小为 0,我检查了文件大小:

console.log(fs.statSync(filePath));

{ 开发:2049, 模式:33204, 链接:1, 用户ID:1000, gid: 1000, rdev: 0, blksize: 4096, 井野:1975657, 尺寸:1964074, 块:3840, 时间:2016-07-18T02:29:16.977Z, mtime: 2016-07-18T02:28:30.037Z, ctime: 2016-07-18T02:28:30.037Z, 出生时间:2016-07-18T02:28:30.037Z }

【问题讨论】:

    标签: node.js download fs superagent


    【解决方案1】:

    也许,您在流式写入文件时调用console.log。尝试在finish 上添加监听器。

    var stream = fs.createWriteStream(filePath);
    stream.on('finish', function () {
        console.log(fs.statSync(filePath)); 
    });
    
    superagent 
        ...
        .pipe(stream);
    

    【讨论】:

    • 这是由于异步 createWriteStream 方法:)
    猜你喜欢
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2011-08-14
    相关资源
    最近更新 更多