分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

摒弃FORM表单上传图片,异步批量上传照片

发布时间:2023-09-06 02:36责任编辑:苏小强关键词:上传图片

之前作图像处理一直在用form表单做图片数据传输, 个人感觉low到爆炸而且用户体验极差,现在介绍一个一部批量上传图片的小技巧,忘帮助他人的同时也警醒自己在代码的编写时不要只顾着方便,也要考虑代码的健壮性个用户体验度。

异步提交照片需要一个CSS文件和相应jqurey文件。如图:

HTML具体代码如下

<!DOCTYPE html>{# 加载静态文件 #}{% load static %}<html lang="en"><head> ???<meta charset="UTF-8"> ???<meta name="viewport" content="width=device-width, initial-scale=1.0"> ???<meta http-equiv="X-UA-Compatible" content="ie=edge"> ???{# 引入外链式css #} ???<link rel="stylesheet" type="text/css" href="{% static ‘css/Huploadify.css‘ %}"/> ???{# 载入js库 #} ???<script src="{% static ‘js/jquery-1.12.1.min.js‘ %}"></script> ???<script src="{% static ‘js/axios.js‘ %}"></script> ???<script src="{% static ‘js/jquery.Huploadify.js‘ %}"></script> ???????<title>异步多上传</title></head><body> ???<center> ???????{# 定义一个上传容器 #} ???????<div id="upload">上传文件</div> ???</center> ???<script> ??????//定义异步上传对象 ??let up = $("#upload").Huploadify({ ???????//是否自动上传 ???????auto:false, ???????//设置文件大小限制 ???????fileSizeLimit:99999999999, ???????//设置删除延时 ???????removeTimeout:999999999, ???????//文件类型 ???????filetypeExts:‘*.*‘, ???????//是否多文件 ???????multi:true, ???????//是否显示进度条 ???????showUploadedPercent:true, ???????//是否显示文件大小 ???????showUploadedSize:true, ???????//请求方式 ???????method:‘post‘, ???????//请求网址 ???????uploader:‘/upload‘, ???????//回调方法 ???????onUploadComplete:function(file){ ???????????console.log(file.name+‘上传成功‘) ???????}, ???????//删除文件 ???????onCancel:function(file){ ???????????console.log(file.name+‘删除成功‘); ???????} ??}); ???</script></body></html>

后台代码如下

from django.shortcuts import render,redirectfrom django.http import HttpResponse,HttpResponseRedirect#导入试图方法from django.views import Viewimport jsonimport os#导入本地化文件照片缓存路径from mymac.settings import UPLOAD_ROOT#定义上传试图类class UploadTest(View): ???#定义上传方法 ???def post(self,request): ???????img = request.FILES.get("file") ???????print(img) ???????f = open(os.path.join(UPLOAD_ROOT,‘‘,img.name),‘wb‘) ???????for chunk in img.chunks(): ???????????f.write(chunk) ???????f.close() ???????????????return HttpResponse(json.dumps({‘status‘:‘ok‘},ensure_ascii=False),content_type=‘application/json‘)

settings设置如图

摒弃FORM表单上传图片,异步批量上传照片

原文地址:https://www.cnblogs.com/wjohh/p/10597587.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved