一、方式一
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("....")