美文网首页
更简单的 javascript 文件下载 【使用 HTTP 附件

更简单的 javascript 文件下载 【使用 HTTP 附件

作者: 了凡和纤风 | 来源:发表于2020-10-12 16:41 被阅读0次

    JavaScript 开发过程中,会经常遇到文件下载的需求。之前的处理方式大多是后端返回文件流,或者下载的地址,前端使用 JavaScript实现下载逻辑。

    HTTP中 Content-Disposition 可以更方便的实现这一需求。

    Disposition 字段影响的行为是客户端会根据它的值判断是应该将报文数据当做即使浏览的内容,还是可下载的附件。

    • 当内容只需即时查看时,它的值为 inline。
    • 当数据可以存为附件时,它的值为 attachment。
      此外,Content-Disposition 字段还能通过参数指定保存时应该使用的文件名。

    示例如下:

    const http = require('http')
    const fs = require('fs')
    
    http.createServer((req, res) => {
      fs.readFile('./mapMask.js', (err, data) => {
        if (err) throw new Error(err)
        // 设置内容
        res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
        res.setHeader('Content-Length', data.length)
        res.setHeader('Content-Disposition', 'attachment; filename="fi.js"')
        res.writeHead(200)
        res.end(data)
      })
    }).listen(5555, () => console.log('http://localhost:5555'))
    

    相关文章

      网友评论

          本文标题:更简单的 javascript 文件下载 【使用 HTTP 附件

          本文链接:https://www.haomeiwen.com/subject/oiqppktx.html