渐渐模糊了约定 2024-07-30 14:14 采纳率: 17.4%
浏览 3
已结题

浏览器下载文件返回了字符串?

需求:本地浏览器从服务器下载文件
环境:IDEA2023.2.2

@GetMapping("/download")
    public void downloadFile(HttpServletResponse response) throws IOException {
        // 指定要下载的文件路径
        String filePath = "D:\\GY_srm\\man_upload\\257ea5f4-32c6-4a76-8c28-99d82619a87b.rar";
        File file = new File(filePath);
        // 设置响应头信息
        String filename = file.getName();
        // 文件转成字节数组
        byte[] fileByte = Files.readAllBytes(file.toPath());
        // 设置response的Header
        response.setCharacterEncoding("UTF-8");
        // 指定下载文件名(attachment-以下载方式保存到本地,inline-在线预览)
        response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
        // 告知浏览器文件的大小
        response.addHeader("Content-Length", "" + file.length());
        // 内容类型为通用类型,表示二进制数据流
        response.setContentType("application/octet-stream");
        OutputStream os = response.getOutputStream();
        os.write(fileByte);
        os.flush();
    }

目标是在浏览器下载,但是他为什么给我返回了一个字符串?有没有解决办法

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 7月31日
    • 创建了问题 7月30日

    悬赏问题

    • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
    • ¥15 51嵌入式入门按键小项目
    • ¥30 海外项目,如何降低Google Map接口费用?
    • ¥15 fluentmeshing
    • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
    • ¥15 盘古气象大模型调用(python)
    • ¥15 传人记程序做的plc 485从机程序该如何写
    • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
    • ¥50 libwebsockets 如何添加其他socket事件回调
    • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路