Django-关于文件上传
一、方式一
def upload(request): if request.method == 'GET': return render(request,'upload.html') else: user = request.POST.get('user') img = request.FILES.get('img') #文件对象 #img是对象(文件大小,文件名称,文件内容) print(img.name) print(img.size) f = open(img.name,'wb') for line in img.chunks(): f.write(line) f.close() return HttpResponse("....") <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/upload/" method="POST" enctype="multipart/form-data"> {% csrf_token %} <input type="text" name="user"/> <div style="position: relative"> <a>NB上传</a> <input type="file" name="img" style="opacity: 0;position: absolute;top: 0;left: 0"/> </div> <input type="submit" value="提交"/> </form> </body> </html>
二、form方式
from django.shortcuts import render,HttpResponse from django import forms from django.forms import fields class UploadForm(forms.Form): user = fields.CharField() img = fields.FileField() def upload(request): if request.method == 'GET': return render(request,'upload.html') else: obj = UploadForm(request.POST,request.FILES) print(obj) if obj.is_valid(): user = obj.cleaned_data['user'] img = obj.cleaned_data['img'] print(obj.cleaned_data) print(img.name) print(img.size) f = open(img.name,'wb') for line in img.chunks(): f.write(line) f.close() return HttpResponse("....")
作者:Lawrence
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
扫描上面二维码关注我
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.