我正在嘗試上傳一個大約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">
DemoStatus 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”。感謝您的幫助!