From 7738362792cbd11b88ded58652df134b2cb8f30a Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 14 Aug 2021 01:55:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=9B=BE=E7=89=87API=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_api/views.py | 3 ++- app_doc/util_upload_img.py | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app_api/views.py b/app_api/views.py index cf1d638..8762bb3 100644 --- a/app_api/views.py +++ b/app_api/views.py @@ -293,8 +293,9 @@ def upload_img(request): # {"success": 1, "url": "图片地址"} ################## token = request.GET.get('token', '') - base64_img = request.POST.get('data','') + #base64_img = request.POST.get('data','') try: + base64_img = json.loads(request.body.decode("ascii"))['data'] # 验证Token token = UserToken.objects.get(token=token) # 上传图片 diff --git a/app_doc/util_upload_img.py b/app_doc/util_upload_img.py index c277469..febc09f 100644 --- a/app_doc/util_upload_img.py +++ b/app_doc/util_upload_img.py @@ -222,13 +222,26 @@ def img_upload(files, dir_name, user, group_id=None): ) return {"success": 1, "url": file_url,'message':_('上传图片成功')} +# 解析image/png获取扩展名 +def getImageExtensionName(temps): + if len(temps) == 2: + #image/png + temps = temps[0].split('image/') + if len(temps) == 2: + ## 如果文件传了扩展名,就取扩展名的文件类型 + if temps[-1] != '': + return "." + temps[-1] + return ".png" # base64编码图片上传 def base_img_upload(files,dir_name, user): - files_str = files.split(';base64,')[-1] # 截取图片正文 + temps = files.split(';base64,') # 截取图片正文 + files_str = temps[-1] # 截取图片正文 + extensionName = getImageExtensionName(temps) + files_base = base64.b64decode(files_str) # 进行base64编码 relative_path = upload_generation_dir(dir_name) - file_name = str(datetime.datetime.today()).replace(':', '').replace(' ', '_').split('.')[0] + '.png' # 日期时间 + file_name = str(datetime.datetime.today()).replace(':', '').replace(' ', '_').split('.')[0] + extensionName # 日期时间 path_file = os.path.join(relative_path, file_name) path_file = settings.MEDIA_ROOT + path_file # print('文件路径:', path_file) From a2b8ad715fb4908a7abc6c25cc872faaf3764160 Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 15 Aug 2021 14:42:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E7=B2=BE=E7=A1=AE=E5=88=B0=E5=BE=AE=E7=A7=92=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=90=8C=E4=B8=80=E7=A7=92=E5=B9=B6=E5=8F=91?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=AF=BC=E8=87=B4=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_doc/util_upload_img.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app_doc/util_upload_img.py b/app_doc/util_upload_img.py index febc09f..f276701 100644 --- a/app_doc/util_upload_img.py +++ b/app_doc/util_upload_img.py @@ -241,7 +241,7 @@ def base_img_upload(files,dir_name, user): files_base = base64.b64decode(files_str) # 进行base64编码 relative_path = upload_generation_dir(dir_name) - file_name = str(datetime.datetime.today()).replace(':', '').replace(' ', '_').split('.')[0] + extensionName # 日期时间 + file_name = str(datetime.datetime.today()).replace(':', '').replace(' ', '_').replace('.', '_') + extensionName # 日期时间 path_file = os.path.join(relative_path, file_name) path_file = settings.MEDIA_ROOT + path_file # print('文件路径:', path_file)