【Django后端分离】使用element-ui文件上传
2021-02-21 01:20
标签:封面 wan 不能 views object self hidden profile set 1:导入element 2:前端文件 3:后端文件 【Django后端分离】使用element-ui文件上传 标签:封面 wan 不能 views object self hidden profile set 原文地址:https://www.cnblogs.com/wanghong1994/p/12913091.html
"stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
css:
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
html:
{% comment %} 上传图片 {% endcomment %}
"text-align: center" >更新社团封面
路由:
# 预览图片
url("show/images/$", add_image.Image.as_view()),
py文件:
from rest_framework.views import APIView
from SocietyPlat import settings
from django.shortcuts import render, redirect, HttpResponse
from Databases import models
from django.http import JsonResponse
import os
# 获取相对路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
class Image(APIView):
def post(self, request):
# 接收文件
file_obj = request.FILES.get(‘image‘,None)
# 用户名
# username = str(request.data.get("username"))
username = "Wang"
print("file_obj",file_obj.name)
# 判断是否存在文件夹
head_path = BASE_DIR + "\\media\\{}\\head".format(username).replace(" ","")
print("head_path",head_path)
# 如果没有就创建文件路径
if not os.path.exists(head_path):
os.makedirs(head_path)
# print("文件名",file_obj.name) # 文件名 name.png
#
# print("文件二进制",file_obj.read()) # 文件二进制 b‘\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x0
#
# print("判断文件> 2.5M",file_obj.multiple_chunks(chunk_size=None)) # 文件大小 False小于2.5M
#
# print("文件大小",file_obj.size) # 文件大小 12651
#
# print("文件编码",file_obj.charset) # None
#
# print("随文件一起上传的内容类型标题",file_obj.content_type) # image/png
#
# print("包含传递给content-type标头的额外参数的字典",file_obj.content_type_extra) # {}
#
# print("text/content-types提供的utf8字符集编码",file_obj.charset) # None
#
#
# 图片后缀
head_suffix = file_obj.name.split(".")[1]
print("图片后缀",head_suffix) # 图片后缀 png
# 储存路径
file_path = head_path + "\\{}".format("head." + head_suffix)
file_path = file_path.replace(" ","")
print("储存路径", file_path) # C:\Users\user\Desktop\DownTest\media\username\head\head.png
# 上传图片
with open(file_path, ‘wb‘) as f:
for chunk in file_obj.chunks():
f.write(chunk)
message = {}
message[‘code‘] = 200
# 返回图片路径
back_path = ‘\static\{}\head\{}‘.format(username,"head." + head_suffix).replace(" ","")
message[‘image‘] = back_path
return JsonResponse(message)
文章标题:【Django后端分离】使用element-ui文件上传
文章链接:http://soscw.com/index.php/essay/58239.html