鍍金池/ 問答/Linux  HTML/ Node.js如何返回ftp的文件給瀏覽器

Node.js如何返回ftp的文件給瀏覽器

Node.js中使用ftp包來進(jìn)行文件的上傳下載,參照github上給的demo,現(xiàn)在已經(jīng)可以實(shí)現(xiàn)把ftp服務(wù)器上的文件下載到本地,代碼如下:

var tool = require('../utils/tool');
router.get('/download', function (req, res) {
    var url = req.query.url 

    var Client = require('ftp');
    var fs = require('fs');

    var c = new Client();
    c.on('ready', function() {
        c.get(url, function(err, stream) {
            if (err) throw err;
            stream.once('close', function() { c.end(); });
            stream.pipe(fs.createWriteStream('/Users/dbman/Desktop/test.txt'));
        });
    });

    var option={host:"","port":'',"user":"","password":""}  
    c.connect(option);

    var result = tool.responseSuccess('ok');
    return res.json(result);

});

現(xiàn)在我想實(shí)現(xiàn)這樣一個(gè)功能:用戶在瀏覽器中點(diǎn)擊一個(gè)按鈕的時(shí)候會(huì)調(diào)用上面所寫的那個(gè)接口,瀏覽器會(huì)彈出下載窗口并支持用戶自定義保存路徑。請(qǐng)問上面的接口應(yīng)該如何修改呢?

回答
編輯回答
尐潴豬
  • .pipe(res);直接轉(zhuǎn)發(fā)ftp響應(yīng)
  • Content-Disposition: attachment; filename="xxx"設(shè)置HTTP頭讓瀏覽器彈“保存為”
2018年1月30日 22:53