从request.FILES获取项目

时间:2019-11-08 19:15:17

标签: django request

我尝试通过request.FILES获取项目:从输入<input type='file' name='images' multiple>中,我收到django查看的数据:

<MultiValueDict: {
u'images': [
<InMemoryUploadedFile: Men_Mother_Boys_Little_girls_Smi.jpg (image/jpeg)>,
<InMemoryUploadedFile: tumblr_p4fq65rkPh1uc0ho8o1_1280.jpg (image/jpeg)>, 
<InMemoryUploadedFile: tumblr_nxq18wYT4l1uc0ho8o1_500.jpg (image/jpeg)>, 
<InMemoryUploadedFile: ddc4790b00ee3c8d51c106afa76a4dc7.jpg (image/jpeg)>, 
<InMemoryUploadedFile: 9961f0d0ea1b54cdd9d4a2c58a66c6be.jpg (image/jpeg)>
]}>

我尝试获取文件列表:

images = self.request.FILES.get('images', None)

但是在图像中,我总是只收到一个<InMemoryUploadedFile>,尽管我希望看到InMemoryUploadedFile的列表。我检查了:

    print(type(self.request.FILES))  #<MultiValueDict: {u'images': [<InMemoryUploadedFile:
    print(type(images))              #InMemoryUploadedFile

我发现这对于字典来说是非常不典型的。也许这是旨在接收单个文件的预先计划的行为。那应该是吗?

1 个答案:

答案 0 :(得分:1)

根据输出中的指定,您正在使用MultiValueDict,因此可以使用getlist method [GitHub]

images = self.request.FILES.getlist('images', None)