小杨不掉发 2022-06-01 17:33 采纳率: 71.4%
浏览 134
已结题

express返回图片

为什么我返回图片给前端还是乱码

img

img

img


这是为什么呢,我的content-type是JPEG啊

  • 写回答

2条回答 默认 最新

  • Heerey525 前端领域新星创作者 2022-06-02 16:21
    关注

    后端这么写没问题,是对的
    前端接收到的是文档流的形式,需要规定ajax以blob形式接收,然后下载
    https://blog.csdn.net/m0_37687058/article/details/124177135
    https://zhuanlan.zhihu.com/p/502721718

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <body>
        <button onclick="downloadImage()">下载图片</button>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
        <script>
            function downloadImage() {
                const imageName = '1.png' // 下载图片名称
                $.ajax({
                    url: 'http://localhost:3000/public/img/' + imageName,
                    type: 'GET',
                    xhrFields: {
                        responseType: 'blob' // 规定以blob形式接收
                    },
                    success: (res) => {
                        const a = document.createElement('a');
                        const blob = new Blob([res]);
                        const href = window.URL.createObjectURL(blob);
                        a.href = href;
                        a.download = imageName;
                        document.body.appendChild(a);
                        a.click();
                        document.body.removeChild(a);
                        window.URL.revokeObjectURL(href);
                    }
                })
            }
        </script>
    </body>
    
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测