• node缓存文件生成和下载


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

    临时文件生成

    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为清除临时文件用法,即调用就可以清除。

    临时文件下载

            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模块进行文件下载,读取看是否文件生成对应的内容。

  • 相关阅读:
    后端Golang+前端React架构开发案例
    Vim技巧大全
    Draggable Modal dialog in Bootstrap
    Github.com的镜像站
    kettle之excel上传数据库
    自定义函数之分割函数
    jmeter 压测 ActiveMq 消息队列
    SQL---查找+删除重复记录
    异常值检测(Outlier Detection)
    使用u盘在pc上安装centos7(安装停留在dracut:/#的处理)
  • 原文地址:https://www.cnblogs.com/tyusBlog/p/13391140.html
Copyright © 2020-2023  润新知