python

超轻量级php框架startmvc

Django 后台获取文件列表 InMemoryUploadedFile的例子

更新时间:2020-07-22 10:00:01 作者:startmvc
在使用Django项目中,From表单提交了图片集合varformdata=newFormData();formdata.append("csrfmiddlewaretoken",

在使用Django项目中,From表单提交了图片集合


var formdata = new FormData();
formdata.append("csrfmiddlewaretoken",'{{ csrf_token }}');
if ($('.js_file')[0].files.length > 0){
 $.each($('.js_file')[0].files, function (index,file) {
 formdata.append("file",file);
 })
}

在高度模式的时候,可以看到


<MultiValueDict: {'file': [<InMemoryUploadedFile: wx_friends.png (image/png)>, <InMemoryUploadedFile: wx_qrcode.png (image/png)>, <InMemoryUploadedFile: wx_wechat.png (image/png)>]}>

用:imgs = request.FILES.get('file') 获取,却只能获取一个文件,

原因在于django 默认是只处理单个文件上传的,要一次性批量处理多个文件上传就得采用这种方法。MultiValueDict这种字典类是特殊定义的,如果需要取得list 需要调用 getlist方法

所以获取图片的正确方式是


request.FILES.getlist('file')

这样拿出来的就是一个 InMemoryUploadedFile 类的list ,接下来该怎么处理就怎么处理了。

以上这篇Django 后台获取文件列表 InMemoryUploadedFile的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Django 文件列表 InMemoryUploadedFile