< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

node生成缓存文件模块tmp,为了减少服务器的使用容量,链接服务器下载文件一定要用临时文件,假如,每一个文件下载都先在服务器上生成再进行访问,1000个用户,就会有1000个文件存储再服务器,再调用1000次文件删除的方法,这大大加大了服务器的压力。因此通过npm中的tmp模块(临时文件)来进行文件下载,会减少很多的服务器压力。

临时文件生成

1
2
3
4
tmp.file({ mode: 0o644, prefix: 'prefix-', postfix: '.txt' }, function _tempFileCreated(err, path, fd, cleanupCallback) {
        if (err) throw err;
 
    });

  

这段代码生成了模式为0o644,前缀为prefix-,后缀为.txt的文件,所生成的文件名如prefix-xxxxxxxx.txt的文本文件。
path为对应的文件的临时存储路径
cleanupCallback为清除临时文件用法,即调用就可以清除。

临时文件下载

1
2
3
4
5
6
7
8
9
10
11
12
13
fs.writeFile(path, '这是第一行',function(err){
    if(err) console.log('写文件操作失败');
    else console.log('写文件操作成功');
 
    fs.readFile(path, function(err, data){
        res.set({
            'Content-Type': 'application/octet-stream',
            'Content-Disposition': 'attachment; filename=upload.txt'
        });
        res.end(data)
        cleanupCallback();
    })
});

  

再通过fs模块进行文件下载,读取看是否文件生成对应的内容。

posted on   tyus  阅读(781)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示