0

我正在使用weed-fs存储文件并尝试使用以下代码将文件流式传输到客户端

var fileName = [__dirname, '/uploads/', req.params.id, ".png"].join('');

try {
    var writeStream = fs.createWriteStream(fileName);
    weedfs.read(req.params.id, writeStream);
    writeStream.on("close", function () {
        var readStream = fs.createReadStream(fileName);
        response.pipe(readStream);
        response.on('error', function (err) {
            readStream.end();
        });
        response.on('end', function (err) {
            removeFile(fileName);
        });
    });

} catch (e) {
    res.send(404);
}

但我收到错误Error: connect ECONNREFUSED

如果我查看weedfs读取方法,我发现下面的代码

read: function(fid, stream, cb) {
    var ins = this;
    if ((typeof stream == "function") && !cb) {
        cb     = stream;
        stream = false;
    }

    this.find(fid, function(pub) {
        if (pub[0]) {
            if (stream) {
                ins.http(pub[0]).pipe(stream);
        ...... 

难道我做错了什么。请帮我解决这个问题。

4

0 回答 0