Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Flask中获得上传的文件?_Javascript_Python_Flask_File Upload - Fatal编程技术网

Javascript 如何在Flask中获得上传的文件?

Javascript 如何在Flask中获得上传的文件?,javascript,python,flask,file-upload,Javascript,Python,Flask,File Upload,目前,我想把一些图片从前端上传到后端, 我可以正确上传这些图片,但我不知道如何在后端获取这些照片。 在这里,我使用前端的FormData上传图像 consturl=”http://localhost:5000/hotel"; const data=新表单数据(); var photos=document.querySelector(“输入[type='file'][multiple]”); console.log(photos.files); 数据。附加(“照片”,照片。文件); 获取(url{

目前,我想把一些图片从前端上传到后端, 我可以正确上传这些图片,但我不知道如何在后端获取这些照片。 在这里,我使用前端的FormData上传图像

consturl=”http://localhost:5000/hotel";
const data=新表单数据();
var photos=document.querySelector(“输入[type='file'][multiple]”);
console.log(photos.files);
数据。附加(“照片”,照片。文件);
获取(url{
标题:新标题({
“内容类型”:“应用程序/json”
}),
模式:“cors”,
方法:“张贴”,
正文:数据
});
现在,我尝试使用flask在后端获取这些文件

@app.route('/hotel',methods=['POST'])
def add_酒店():
打印(申请表)
打印(请求数据)
打印(请求文件)
打印结果如下所示:

ImmutableMultiDict([])
b'----WebKitFormBoundaryo54yZ5CoNX8dQZZ3\r\n内容处理:表单数据;name=“photos”\r\n\r\n[对象文件列表]\r\n------WebKitFormBoundaryo54yZ5CoNX8dQZZ3--\r\n
ImmutableMultiDict([]))

我认为这些图像存储在request.data中,但是如何像request.files中的普通文件那样保存这些数据呢?

您必须使用request.files.getlist。有关详细信息和进一步改进,请参阅。

事实上,我再次检查了我的代码,我发现前端存在问题,当使用表单数据发送请求时,您不应该使用标题
“Content Type”:“application/json”

,只需将表单数据放在正文中即可

感谢您的回答,我发现问题出在前端,在使用formdata时不应该指定内容类型