You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask服务器使用send_from_directory发送文件时出现损坏问题

Flask 1.1.0 文件下载损坏问题排查

环境:Flask 1.1.0

我在Flask服务器实现文件下载时遇到文件损坏问题。服务器按项目分别在UPLOAD_FOLDER路径下存储文件,核心代码片段如下:

@file_ns.route('/download')
class downloadFile(Resource):
    @file_ns.expect(show_file)
    @jwt_required() 
    def post(self):
        # [代码已简化]
        try:
            return send_from_directory(server_path, filename, as_attachment=True)
        except FileNotFoundError:
            abort(404)

上传的PDF文件在服务器本地打开完全正常,但通过接口下载后,用PDF查看器打开显示空白。用Vim查看下载后的文件,发现内容并未丢失,但存在疑似编码或读取异常的情况,示例内容如下:

%PDF-1.4 
   2 %����
   3 2 0 obj
   ...
   31 <<</Type/XObject/Resour

我怀疑问题出在send_from_directory函数的使用方式或文件编解码环节,想请教如何定位并解决文件损坏的原因?

我已经尝试过几种方案:指定mimetype调用send_file函数、以字节模式打开文件后传入函数,但都没有解决问题。

内容的提问来源于stack exchange,提问作者Ching Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:12:42