【问题标题】:Express sendFile with custom mimetype使用自定义 mimetype 表达 sendFile
【发布时间】:2021-10-09 15:11:46
【问题描述】:

我有一个图像上传系统,其中文件以 uuid 作为名称存储。还有一个数据库条目,用于存储文件的原始 mimetype。
我想使用 express sendFile 函数将文件提供给用户,但不幸的是,它会根据文件扩展名设置 mimetype,通常如下所示:

uploads/b56adbe4-6ab6-47f1-8db3-41eeb43e765c

因为它没有文件扩展名,所以 mimetype 始终设置为 application/octet-stream。那么有没有办法将 mimetype 更改为存储在数据库中的正确类型?让浏览器可以显示图片?

【问题讨论】:

    标签: express mime-types response-headers


    【解决方案1】:

    在你的情况下,我建议你上传带有扩展名的文件,例如:

    uploads/b56adbe4-6ab6-47f1-8db3-41eeb43e765c.pdf
    

    您可以使用multer配置文件上传,然后您可以将其发送给客户端或提供文件url

    【讨论】:

      【解决方案2】:

      我找到了解决办法,只需设置内容类型标题:

                  res.sendFile(body.file, { 
                      root : "./",
                      headers:{
                          "Content-Type":body.mimeType
                      }
                  }
      

      【讨论】:

        猜你喜欢
        • 2016-08-28
        • 2014-11-02
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多