当前位置: 首页 > 面试题库 >

在Django中使用相同的输入名称上传多个文件

乐宜民
2023-03-14
问题内容

即时通讯在上传具有相同输入名称的多个文件时遇到麻烦:

<input type=file name="file">
<input type=file name="file">
<input type=file name="file">

在Django一侧

print request.FILES :

<MultiValueDict: {u'file': [
<TemporaryUploadedFile: captcha_bg.jpg (image/jpeg)>,
<TemporaryUploadedFile: 001_using_git_with_django.mov (video/quicktime)>,
<TemporaryUploadedFile: ejabberd-ust.odt (application/vnd.oasis.opendocument.text)>
]}>

因此所有三个文件都在单个request.FILES [‘file’]对象下。如何处理从此处上传的每个文件?


问题答案:
for f in request.FILES.getlist('file'):
    # do something with the file f...

编辑:我知道这是一个旧答案,但是我刚才遇到了这个答案,并且已经将答案编辑为实际上是正确的。以前建议你可以直接进行迭代request.FILES['file']。要访问MultiValueDict中的所有项目,请使用.getlist('file')。使用just ['file']只会返回它为该键找到的最后一个数据值。



 类似资料:
  • 问题内容: 是否可以获取多个具有相同名称的输入,然后从PHP访问它们?想法是这样的:我有一个表格,可以输入不确定数量的物理地址以及其他信息。如果我只是在几个条目中为每个字段赋予相同的名称,然后通过post提交该数据,PHP是否可以访问它? 举例来说,我在一个名为“ xyz”的页面上有五个输入,我想使用PHP访问它们。我可以做些什么: 如果是这样,那将使我的生活变得轻松十倍,因为我可以通过一个表单发

  • 问题内容: 第二次输入后,我无法上传任何图像。我只能上传第一个输入。当添加另一个输入值时,将动态创建输入。下面是代码: 问题答案: 我制作并测试了一些代码示例,以便您可以了解问题所在。您有几处错误。我建议的第一件事实际上是使用jQuery。您的代码显然使用的是jQuery,但您可以使用各种可以简化的原始JS: 请注意,我在ajax URL中进行了硬编码。我用于测试的控制器名为Multi_uploa

  • 问题内容: 我想上传多个文件,包括Word文档,PDF和图像。我需要为文件使用一个输入,因为我们不知道将上传多少文件。 我的代码是这样,但是我有问题,无法将文件发送到服务器端。 控制器代码: 视图代码的一部分: 我没有保存文件和保存对象的问题。唯一的问题:文件列表为空。 问题答案: 我要上传文件,您的表单需要包含属性。 或更好 并且我强烈建议您将模型传递给视图,并使用强类型方法为模型的属性创建ht

  • 问题内容: 我已经成功开发了一项服务,可以读取在Jersey中以多部分形式上传的文件。这是我一直在做的极其简化的版本: 这个工作很好,但是给了我一个新的要求。除了要上传的文件之外,我还必须处理任意数量的资源。让我们假设这些是图像文件。 我想我只是为客户提供一个表单,其中包含一个文件输入,一个输入用于第一个图像以及一个按钮,以允许向该表单添加更多输入(使用AJAX或简单的纯JavaScript)。

  • 我想上传多输入文件。我尝试了下面的代码,但文件没有上传,我无法获得上传目录。 HTML 控制器 我也尝试用下面的代码获取上传的数据,但为什么总是出现错误?

  • 我得到了(超过)两个Api POSTendpoint。每一个都需要一个json作为参数。但是当我在两个endpoint参数类中使用相同的类名负载时,Swagger就不起作用了。当我改变其中的一个,例如从有效载荷到有效载荷1时,它就不起作用了。当然,我在包装类中设置了正确的名称空间,以便它找到负载。但我希望每次都使用相同的名称“有效载荷”。如何使用相同的类名负载?在这两种情况下,我都可以保留json