django框架实现一次性上传多个文件功能示例【批量上传】

作者:轻舞肥羊 时间:2022-03-30 09:00:43 

本文实例讲述了django框架实现一次性上传多个文件功能。分享给大家供大家参考,具体如下:

在用django 写文件上传的时候,从request.FILES['myfiles'] 获取到的文件始终只有一个, 但在HTML页面上明明用 HTML5 的 文件控件选择了多个文件,用的是CHROME  浏览器,一次可以选择多个文件上传。在 Pydev 开启debug模式,查看request 对象,发现上传的多个文件确实在request对象中,但为什么 用request.FILES['myfiles'] 却只能得到一个呢?

前端 html5 上传控件, 我用了jquery file upload


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

django框架实现一次性上传多个文件功能示例【批量上传】

选择多个文件之后, 然后提交请求,开启pydev debug 模式,查看request内容:

django框架实现一次性上传多个文件功能示例【批量上传】

其中request.FILES 的内容为如下:

MultiValueDict: <MultiValueDict: {u'myfiles': [<InMemoryUploadedFile: 300x600.png (image/png)>, <InMemoryUploadedFile: todo.txt (text/plain)>]}>

很明显,上传的文件的确在其中,但是当用 request.FILES['myfiles'] 得到的确是最后一个。 而不能得到两个文件。跟踪代码发现,request.FILES 的类型为 MultiValueDict,这种字典类是特殊定义的,如果需要取得list 需要调用 getlist  方法,看到这里,豁然开朗,下面是得到上传的多个文件与处理的逻辑


files = request.FILES.getlist('myfiles')
for f in files:
  destination = open('d:/temp/' + f.name,'wb+')
  for chunk in f.chunks():
    destination.write(chunk)
  destination.close()

其实很简单的,就是不细心,另外django 默认是只处理单个文件上传的,要一次性批量处理多个文件上传就得采用这种方法。

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

来源:http://www.yihaomen.com/article/python/462.htm

标签:django框架,批量上传
0
投稿

猜你喜欢

  • python用于url解码和中文解析的小脚本(python url decoder)

    2023-01-28 06:19:00
  • Win7系统下mysql 5.7.11安装教程详解

    2024-01-28 12:54:48
  • 使用python接入微信聊天机器人

    2022-04-08 10:07:23
  • SQL Server数据迁移至云端应用技巧谈

    2011-05-05 08:01:00
  • Python实现C#代码生成器应用服务于Unity示例解析

    2023-01-18 00:33:44
  • php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密

    2023-11-21 14:36:02
  • pytest中配置文件pytest.ini使用

    2021-01-22 17:04:02
  • JS实现图片手风琴效果

    2023-08-23 19:28:27
  • 跟老齐学Python之用while来循环

    2021-01-13 23:38:18
  • 网页图片延时加载的js代码

    2024-04-22 13:22:41
  • Yahoo! BrowserPlus 发布

    2008-11-20 13:35:00
  • Django rstful登陆认证并检查session是否过期代码实例

    2022-11-04 16:17:15
  • 关于设计的一些个人看法

    2008-06-12 12:44:00
  • sqlserver中的自定义函数的方法小结

    2024-01-24 22:14:11
  • python 将大文件切分为多个小文件的实例

    2021-05-23 23:32:02
  • Pycharm安装第三方库时Non-zero exit code错误解决办法

    2023-03-15 12:15:01
  • js Function类型

    2024-05-02 16:28:23
  • Opencv图像处理之详解掩膜mask

    2022-08-12 23:40:44
  • 详解python字节码

    2021-12-16 16:56:29
  • IIS 301重定向与程序代码实现301重定向的差别

    2022-04-16 07:45:23
  • asp之家 网络编程 m.aspxhome.com