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

Flask上传小文件报413 Request Entity Too Large问题求助

解决Flask文件上传413 Request Entity Too Large错误

核心问题:curl命令用法错误

你当前使用curl -d @it_return_2020_21.pdf ...发送请求,-d参数是用来传递普通表单数据的,会把PDF文件内容直接作为请求体发送,这种格式不符合Flaskrequest.files期望的multipart/form-data文件上传规范,反而会因为请求体解析异常触发413错误(即便文件本身只有275KB)。

修正后的curl命令

改用-F参数指定文件字段,这是HTTP文件上传的标准格式:

curl -F "file=@it_return_2020_21.pdf" http://127.0.0.1:5000/upload-pdf

代码补充优化点

虽然当前错误源自curl命令,但你的代码还有几处需要完善的地方,避免后续出现其他问题:

  1. 配置上传目录:取消注释file.save代码前,需要先配置上传目录并确保目录存在:
    import os
    from flask import Flask, request, jsonify
    from werkzeug.utils import secure_filename
    
    app = Flask(__name__)
    app.config['MAX_CONTENT_LENGTH'] = 16 * 1000 * 1000  # 16MB
    # 添加上传目录配置
    app.config['UPLOAD_FOLDER'] = '/path/to/your/upload/directory'
    # 确保目录存在,不存在则创建
    os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
    
    # 剩余代码保持不变...
    
  2. 简化扩展名判断逻辑:无需同时列出.pdf和.PDF,直接转小写后判断即可:
    def allowed_file(filename):
        return "." in filename and filename.rsplit(".", 1)[1].lower() == 'pdf'
    

内容的提问来源于stack exchange,提问作者Echchama Nayak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:27:39