【问题标题】:Django multiple files in one input can't be read by server服务器无法读取一个输入中的Django多个文件
【发布时间】:2012-11-19 21:27:17
【问题描述】:

当我向 Django 提交多文件上传表单时

<input type="file" name="files" multiple />

我在request.FILES 得到了一个合理的结果:

(MultiValueDict: {u'files': [(InMemoryUploadedFile: 0202.jpg (image/jpeg)), (InMemoryUploadedFile: 0203.jpg (image/jpeg))]})

但是我的困惑开始了。我以为request.FILES['files'] 将包含几个文件(似乎是一个列表),但它只显示

0203.jpg

没有InMemoryUploadedFile 部分,更重要的是:只有最后一个文件!

循环通过request.FILES.iteritems() 也只会遍历那个文件,request.FILES['files'] 显然是可合并的;下面的代码实际上冻结了控制台并使其无休止地发出哔哔声:

for v in request.FILES['files']:
    print v
    print type(v)

所以...这正常吗?我做错了什么?

我开始认为这可能是一个错误:我在 Windows 7 上使用 Django 1.4.2 和 Python 2.7。

【问题讨论】:

    标签: django file-upload


    【解决方案1】:

    原来答案是在 Stack Overflow 上,这里有一个稍微不同(至少是客户端)的问题:multiple files upload using same input name in django

    原来request.FILES['files']是错误的,应该是request.FILES.getlist('file')

    为什么会这样对我来说完全是个谜。如果有人可以解释并回答,我很乐意切换接受的答案。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-18
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多