flask ajax 文件上传,python flask使用ajax请求上载文件。文件为空

在尝试使用Flask上传1.62MB图像到服务器时遇到问题,request.files始终为空。已检查代码并尝试通过Postman发送POST请求,但未成功。问题可能在于前端提交的FormData或后端接收处理。寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试上传一个大约1.62MB的图像到一个用烧瓶写的终点。request.files对象始终为空。我检查了以下问题,但没有成功:

这是我的服务器:

from flask import Flask, request, jsonify, render_template

import sys

app = Flask(__name__)

app.config['UPLOAD_FOLDER'] = r"C:\Temp"

app.debug = True

@app.route("/demo-upload", methods=["GET", "POST"])

def ProcessImage():

if request.method == "POST":

print(request.files)

try:

if 'file' in request.files:

with open("test-upload.png", "wb") as iFile:

print(request['file'])

iFile.write(request.files['file'])

except Exception as e:

print(e)

return jsonify("Ok")

@app.route("/", methods=["GET"])

def DemoIndexPage():

return render_template("index.html")

if __name__ == "__main__":

app.run()

我的客户:

crossorigin="anonymous">

Demo

Status Demo

upload image to process.

Success!

function ProcessImage()

{

var form_data = new FormData($('#File')[0]);

console.log(form_data)

$.ajax({

type: 'POST',

url: '/demo-upload',

data: form_data,

contentType: false,

cache: false,

processData: false,

async: false,

success: function (data) {

console.log('Success!');

$("#status").show();

},

});

}

在我看来,一切都很干净,我不知道自己错在哪里。请求对象中的“文件”属性始终为空。我还尝试了postman使用post-request,表单数据key=file,value=uploaded文件,以及头内容type=“multipart/form data”。感谢您的帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值