首页 > Web开发 > 详细

django实现目录上传(最简单的方法)

时间:2017-09-22 17:28:46      阅读:312      评论:0      收藏:0      [点我收藏+]
HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
     <form enctype="multipart/form-data" action="/upload/" method="POST">
           {% csrf_token %}
           <input type="file" name="upload" id="file_input" multiple webkitdirectory="">
           <br/>
           <input type="submit" value="上传"/>
     </form>

</body>
</html>
url.py

urlpatterns = [
    url(r‘^upload/‘,upload)
]
views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpResponseRedirect
import os
import sys
reload(sys)
sys.setdefaultencoding(‘utf8‘)


# Create your views here.


def upload(request):
    if request.method == ‘GET‘:
        return render(request, ‘index.html‘)
    elif request.method == ‘POST‘:
        dir = request.FILES
        dirlist = dir.getlist("upload", None)        #获取文件列表

        if not dirlist:
            return HttpResponse("没有上传内容")
        else:
            for file in dirlist:
                position = os.path.join(‘C:\\Users\\huyuan\\Desktop\\test\\upload‘,str(file))
                    # 获取上传文件的文件名,并将其存储到指定位置
                storage = open(position, ‘wb+‘)      # 打开存储文件
                for chunk in file.chunks():          # 分块写入文件
                    storage.write(chunk)
            storage.close()                  #写入完成后关闭文件
            return HttpResponse("上传成功")  # 返回客户端信息
    else:
            return HttpResponseRedirect("不支持的请求方法")


这种方式上传目录无法保持目录结构,只会把目录和其子目录的文件上传而不会上传目录


本文出自 “自动化运维” 博客,请务必保留此出处http://hongchen99.blog.51cto.com/12534281/1967802

django实现目录上传(最简单的方法)

原文:http://hongchen99.blog.51cto.com/12534281/1967802

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!