django实现分片上传文件

目标:利用django实现上传文件功能

1,先设置路由系统

urls.py

from django.conf.urls import url,include
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^upload/$‘, views.upload),

]

2,配置html模板文件(前端页面展示)

templates/upload.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/upload/" method="post" enctype="multipart/form-data">
    <p><input type="file" name="f1"></p>
    <p><input type="text" name="hostname"></p>
    <input type="submit" value="upload">
</form>
</body>
</html>

3,开始写上传逻辑

views.py


#_*_ coding:utf-8 -*-from django.shortcuts import render,HttpResponsefrom django.views.generic.list import ListView

def index(request):    return HttpResponse("haha")

def upload(request):    if request.method == "POST":  #判断接收的值是否为POST        inp_files = request.FILES  #上传文件的接收方式应该是request.FILES        file_obj = inp_files.get(‘f1‘) #通过get方法获取upload.html页面提交过来的文件        f = open(file_obj.name,‘wb‘)   #将客户端上传的文件保存在服务器上,一定要用wb二进制方式写入,否则文件会乱码        for line in file_obj.chunks(): #通过chunks分片上传存储在服务器内存中,以64k为一组,循环写入到服务器中            f.write(line)        f.close()

return render(request,‘upload.html‘)  #将处理好的结果通过render方式传给upload.html进行渲染
 

4,上传功能全部完成,比较简单,我们来进行验证

上传本地一个png的图片,然后点击upload提交

点击提交后,在服务器上看到了刚刚上传的文件“django流程图”

通过Django实现分片上传文件成功。

时间: 2024-07-30 22:15:33

django实现分片上传文件的相关文章

Django session cookie 上传文件、详解

session 在这里先说session 配置URL from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'csvt11.views.home', name='home'), # url(r'^blog/', include('blog

Django配置用户上传文件夹和暴露后端文件夹资源

网站所用的静态文件我们都默认存放到static文件夹下,而用户上传的文件也是静态资源,我们需要找一个公共的地方专门存储用户上传的静态文件. 针对用户上传的不同文件,保存到指定的文件夹下. media配置专门用来指定用户上传的静态文件存放路径 1.配置文件中书写以下代码 # settings.py MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 用户上传的文件就会保存到该文件夹下 # media是文件夹的名字,可以自定义,一般使用media作为名字 当

django Form组件 上传文件

上传文件 注意:FORM表单提交文件要有一个参数enctype="multipart/form-data" 普通上传: urls: url(r'^f1/',views.f1), url(r'^f2/',views.f2), views: def f1(request): if request.method == "GET": return render(request,'f1.html') else: import os #导入os模块 #request.get /

django上传文件

django上传文件 template html(模板文件): <form enctype="multipart/form-data" method="POST" action="/address/upload/"> <input type="file" name="file" /> <br /> <input type="submit" val

(转)django上传文件

本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html emplate html(模板文件): <form enctype="multipart/form-data" method="POST" action="/address/upload/"> <input type="file" name="file" /> <br /&g

django中处理文件上传文件

1 template模版文件uploadfile.html 特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multipart/form-data"时,request.FILES中包含文件数据,否则request.FILES为空. <form method="post" action="" enctype="multipart/form-data"

jQuery Ajax上传文件

function UploadFileExcel() { var file = $("#file_upload")[0].files[0]; var form = new FormData(); form.append("file", file); form.append("uid", uid); form.append("token", token); $.ajax({ url: eshopUrl + "/inde

万里长征第二步——django个人博客(第七步 ——上传文件)

在项目目录下新建一个 ‘uploads’文件夹以保存上传的文件 配置setting.py文件 MEDIA_URL = '/uploads/' MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') #设置上传的绝对路径 配置urls.py文件,设置路由 from django.conf.urls import url,include from django.contrib import admin from django.conf import settin

使用django表单,使网页添加上传文件,并分析文件。

开发环境是: apache + python + django+ eclipse(开发环境) 欲达到目的: 在网页上,添加上传文件控件.然后读取csv文件,并分析csv文件. 操作步骤: django 是MVC的设计模式 (模型M,视图V,控制器C) 1.从django的基本模型中,构建自己的模型. 在myforms.py文件中添加如下代码,之后在html显示的表单数据就可以采用这个模型的数据了. from django import forms from django.views.decora