当前位置: 首页 > 知识库问答 >
问题:

如何读取烧瓶中的多部分/表格数据[重复]

诸葛康胜
2023-03-14

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

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

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

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:“非类型”html" target="_blank">对象不可下标

在HTTP post请求中,我可以看到这一点

----WebKitFormBoundary0okhJV9YZK0uArTm内容配置:表单数据;name="Slim[]"{"server":[{"state":"SUCCESS"}],"meta":{},"输入":{"name":"sample-img.jpg","type":"Image/jpeg","size": 41319,"宽": 400,"高": 300},"输出":{"宽度": 400,"高度": 300,"图像":"data: Image/jpeg; bas64,/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,“image:”数据:image/jpeg;base64,/9j/4AAQ。。。。

但是我不知道如何阅读这个帖子数据。例如获得名称的值

共有2个答案

芮歌者
2023-03-14

您将表单数据作为键值对发送试试这个:

import json
ex = json.loads(request.form.get('ex'))
print ex
诸俊才
2023-03-14

您可以使用请求。类型将结果转换为字典形式。

或者你可以用这样的东西:

从werkzeug.datastructures导入ImmutableMultiDket data=dict(request.form)打印数据

 类似资料:
  • 我需要从表单中获取数据。 我使用JavaScript创建表单: 然后我需要从输入字段获取数据,其中。 这里是我的视图功能: 但是我得到一个错误: 帮助我从表单中获取数据。

  • 我正在将一个文件上载到flask后端,但我不知道如何访问多部分表单中的参数值。 我可以通过执行轻松访问上传的文件,但无法找到获取参数值的方法。 我尝试了以下方法,但没有任何运气:

  • 我正试图将数据放入flask中的表中,但由于某种原因,它为每个字符创建了一个新行,而不是仅仅将完整的字符串放入行中。 代码: 表代码:

  • 运行代码时,我不断收到以下错误: 类型错误:“响应”对象不可调用 这是我的代码...

  • 我将多部分表单数据发送到我的Web API,如下所示: 这是Web API: 如何读取字符串和流从请求体在我的Web API?

  • 问题内容: 这听起来可能是个菜鸟问题,但由于Python不是我最好的语言之一,所以我坚持使用它。 我有一个html页面,里面有一个表格,我想在其中显示一个pandas数据框。最好的方法是什么?使用pandasdataframe.to_html? py html 问题答案: 工作示例: python代码: HTML: 否则使用 并从html中删除行 如果您检查html上的元素 如您所见,表格html