我无法读取通过XMLHttpRequest发布的烧瓶中的数据。我正在使用此jquery插件裁剪图像并上传到服务器
数据 - 在使用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);
在我的烧瓶代码中,我打印请求标题以查看内容类型
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 内容处理:表格数据;名称="纤细[]" {"服务器":[{"状态":" SUCCESS"}],"元":{},"输入&# 34;:{"名称":"取样img.jpg""类型":"图像/ JPEG""大小":41319"宽度" 400"高度" 300}"输出" {"宽度":400 "高度" 300"图像":"数据:图像/ 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&# 34;}],"元":{},"输入" {"名称":"取样img.jpg",& #34;类型":"图像/ JPEG""大小":41319"宽度" 400"高度&#34 ;: 300}"输出" {"宽度" 400"高度" 300"图像":"数据:图像/ JPEG; BASE64,/ 9J / 4AAQ ....
但我不确定如何阅读此帖子数据。例如,获取名称
的值答案 0 :(得分:4)
您可以使用request.form.to_dict()将结果转换为字典形式。
或者您可以使用以下内容:
from werkzeug.datastructures import ImmutableMultiDict
data = dict(request.form)
print data
答案 1 :(得分:2)
您将表单数据作为键值对发送 试试这个:
VisualState