文件上传
来源:互联网 发布:java递归1加到100 编辑:程序博客网 时间:2024/06/05 02:34
准备工作
文件上传 ,这种的不限于图片,视频什么的都可以
(1)在根目录下创建static
(2)在setting中配置(最后一行)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]MEDIA_ROOT = os.path.join(BASE_DIR, r’static/uploadfiles’)
开始
1,上传页面进行
<form action="{% url 'myapp:doupload' %}" method="post" enctype="multipart/form-data"> {% csrf_token %} <span>选择文件</span><input type="file" name="user_icon" > <br> <input type="submit" value="上传"></form>
method=”post” 方法用post,post必须用网络安全 {% csrf_token %}
enctype=”multipart/form-data” 必须加密
type=”file”上传用file
2,开始上传
文件上传 ,这种的不限于图片,视频什么的都可以
def upload(request): return render(request, 'myapp/upload.html')# 执行上传路径def doupload(request): # 接受并存储,接受客户端传递过来的文件 user_icond = request.FILES['user_icon'] # 做好存储文件,user_icond.name加到,settings里配置的路径里面 storage_icon = os.path.join(settings.MEDIA_ROOT, user_icond.name) # 打开文件 with open(storage_icon, 'wb') as storage: # 写入,chunks把文件变成小包 for part in user_icond.chunks(): storage.write(part) storage.flush() return HttpResponse('文件上传成功')