在使用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的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。