gpt4 book ai didi

python - 如何读取 flask 中的多部分/表单数据

转载 作者:太空狗 更新时间:2023-10-29 22:29:07 32 4
gpt4 key购买 nike

<分区>

我无法读取通过 XMLHttpRequest 发布的 Flask 中的数据。我正在使用这个 jquery 插件裁剪图像并上传到服务器

https://codecanyon.net/item/slim-image-cropper-responsive-uploading-and-ratio-cropping-plugin/16364167

数据 - 在使用 XMLHttpRequest 将图像发送到服务器之前收集有关图像的信息并将其隐藏在 json 中

var formData = new FormData();
var name = "ex"; // Just an example
formData.append(name, JSON.stringify(data));
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.send(formData);

在我的 flask 代码中,我打印了请求的标题以查看内容类型

print(request.headers)

我看到了

Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8,sv;q=0.6,fr;q=0.4
Host: localhost:5000
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary5e7lMMIQavXzSZg9
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
Connection: keep-alive
Content-Length: 62714
Origin: http://localhost:5000
Pragma: no-cache
Cache-Control: no-cache
Cookie: session=eyJfZnJlc2giOmZhbHNlLCJjc3JmX3Rva2VuIjoiYTJhNTNlYzRkYjZlYzgzNzM2NDQ1ZjM5ZDAxNmY0MTlmY2RiZmRiOCIsInVzZXJuYW1lIjoidXNlcjEifQ.Cv2ADg.d8chDgzAA7fS2P9KcwzRINvLGOU
Referer: http://localhost:5000/loadProfile
Accept: */*

我无法使用

阅读内容

request.get_json()

如果我试试这个

print(request.get_json())
data = request.get_json()
print(data['name'])

TypeError: 'NoneType' 对象不可订阅

在 HTTP post 请求中我可以看到这个

------WebKitFormBoundary0okhJV9YZK0uArTm Content-Disposition: form-data; name="slim[]" {"server":[{"status":"SUCCESS"}],"meta":{},"input":{"name":"sample-img.jpg","type":"image/jpeg","size":41319,"width":400,"height":300},"output":{"width":400,"height":300,"image":"data:image/jpeg;base64,/9j/.......

据作者介绍

Slim 使用 POST 请求以 JSON 格式(包含 base64 编码图像)发送数据。

格式:

{
"server":null,
"meta":{

},
"input":{
"name":"stars.jpg",
"type":"image/jpeg",
"size":null,
"width":800,
"height":1200
},
"output":{
"width":150,
"height":100,
"image":"data:image/jpeg;base64..."
},
"actions":{
"rotation":0,
"crop":{
"x":0,
"y":333.33333333333337,
"width":150,
"height":100.10460251046025,
"type":"manual"
},
"size":null
}
}

如果我这样做

print(request.form)

我看见了

ImmutableMultiDict([('slim[]', '{"server":[{"status":"SUCCESS"}],"meta":{},"input":{"name":"sample- img.jpg","type":"image/jpeg","size":41319,"width":400,"height":300},"output":{"width":400,"height":300 "图片":"数据:图片/jpeg;base64,/9j/4AAQ....

但我不确定如何阅读此帖子数据。例如获取名称的值

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com