一、HTML

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

二、url.py

urlpatterns = [,
url(r'^upload/$', upload),
]

三、views.py

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

四、上传文件的常用方法和属性

content.read():从文件中读取整个上传的数据,这个方法只适合小文件

content.chunks():按块写入文件,通过for循环可以将大文件按块写入到磁盘中

content.name():获取文件名,包括后缀

content.size():获取文件大小

 

最新文章

  1. makefile之变量赋值
  2. Java数据结构——图
  3. 删除myeclipse下svn用户名和密码
  4. Centos|Rhel搭建vsftp
  5. Oracle中的带参数的视图--我们致力于打造人力资源软件
  6. WPS 文字排版 标题回车后标题号自动增加
  7. 《View Programming Guide for iOS》之frame、bounds和center之间的关系
  8. HDU 4986
  9. PHP 使用 Redis
  10. trie树 Codeforces Round #367 D Vasiliy&#39;s Multiset
  11. 计蒜客 取数游戏(dp)
  12. 使用POI操作Excel使用小总结
  13. CSS样式鼠标点击与经过的效果一样
  14. python 如何读取大文件
  15. SDRAM读写状态解析
  16. C#之重写与隐藏
  17. 五十三、linux 编程——TCP 编程基本介绍
  18. JVM内存溢出时快照转存HeapDump到文件
  19. 《Professional JavaScript for Web Developers》day02
  20. kali入门

热门文章

  1. LeetCode872. 叶子相似的树
  2. 计算机之路 -MySQL 初学
  3. Angular入门到精通系列教程(11)- 模块(NgModule),延迟加载模块
  4. JavaScript中的异步函数
  5. circus reload
  6. Trie 前缀树或字典树 确定有限状态自动机
  7. loj10170
  8. js异步、事件循环(EventLoop)小结
  9. java解压zip压缩包
  10. python中如何添加模块导入路径?