Flask图片上传API调用Postman时返回400错误求助
解决Flask API上传图片400错误的方案
你的代码存在语法错误,同时Postman的请求配置也可能触发400错误,以下是具体排查和修复步骤:
一、修复代码中的问题
你的代码有无效代码和未定义变量,先修正逻辑与语法:
@app.route('/user_image', methods=["POST"]) def user_image(): # 用get方法获取文件,避免无此字段时抛出KeyError返回400 uploaded_img = request.files.get('uploaded_file') # 检查文件是否有效 if not uploaded_img or uploaded_img.filename == '': return jsonify({'error': '未上传有效文件'}), 400 img_filename = secure_filename(uploaded_img.filename) upload_path = os.path.join(app.config['UPLOAD_FOLDER'], img_filename) uploaded_img.save(upload_path) # 移除无效的代码行,若需description等参数,需先从请求中获取(示例) # description_value = request.form.get('description', '') # short_description_value = request.form.get('short_description', '') return jsonify({'submitted_record': upload_path})
二、Postman请求配置检查
400错误大多源于请求格式不匹配,按以下步骤配置:
- 选择
POST请求,填入你的API地址(如http://localhost:5000/user_image) - 切换到
Body标签,选中form-data格式 - 添加
Key为uploaded_file(必须与代码中request.files的键一致),Value类型选择File,再选择本地图片文件 - 若代码中需要
description等字段,在form-data中添加对应Key和Value
三、额外配置验证
- 确保Flask app已正确配置上传目录,且目录存在:
import os app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__), 'uploads') # 自动创建不存在的上传目录 os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
内容的提问来源于stack exchange,提问作者venkat
相关产品推荐
相关产品推荐

