分享web开发知识

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

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

h5拖拽上传图片

发布时间:2023-09-06 01:34责任编辑:彭小芳关键词:上传图片

h5实现拖拽上传图片

本文将为大家介绍如何通过js实现拖拽上传图片。

首先我们要禁用调浏览器默认的拖拽事件:

 1 window.onload = function(){ 2 ????????????????//拖离 3 ????????????????document.addEventListener(‘dragleave‘,function(e){e.preventDefault();}); 4 ????????????????//拖后放 5 ????????????????document.addEventListener(‘drop‘,function(e){e.preventDefault();}); 6 ????????????????//拖进 7 ????????????????document.addEventListener(‘dragenter‘,function(e){e.preventDefault();}); 8 ????????????????//拖来拖去 9 ????????????????document.addEventListener(‘dragover‘,function(e){e.preventDefault();});10 };

然后在网页上定义一个拖拽放置区域,也就是我们要将图片放置回显的区域:

1 <div id="dragImg"></div>

绑定拖拽事件:

 1 var box = document.getElementById("dragImg"); 

box.addEventListener("drop",function(e){ ???????????e.preventDefault(); //取消默认浏览器拖拽效果 ???????????var fileList = e.dataTransfer.files; //获取文件对象 ???????????if(fileList.length == 0){return false;} ???????????if(fileList[0].type.indexOf(‘image‘) === -1){ ???????????????alert(‘您拖的不是图片!‘) ???????????????return false; ???????????} ???????????var img = window.URL.createObjectURL(fileList[0]);// ?????????var filesize = Math.floor((fileList[0].size)/1024); ????????????$("#dragImg").css({"background":"url("+img+") no-repeat center center","backgroundSize":"100% 100%"}); ???????????var imgDatatype = filename.split(".")[1]; ???????????var formData = new FormData(); ???????   formData.append("name",fileList[0],imgDatatype); ?//name:为一半表单上传时的元素name是和后台约定好的 ???????????$.ajax({ ???????????????????type:"post", ???????????????????url:‘your Ajax url‘,//ajaxurl ???????????????????async:false, ???????????????????dataType:"text", ???????????????????data:formData, ???????????????????processData : false, ???????????????????contentType : false, ???????????????????success:function(data){ ???????????????????????if(data){ ??????????????????????????
                 $("#dragImg").css({"background":"url("+data+") no-repeat center center","backgroundSize":"100% 100%"}); ???????????????????????}else{ ??????????????????????????console.log(data) ????????????????????????} ???????????????????},error:function(e){ ???????????????????????console.log(e) ???????????????????} ???????????????}) ???????},false);

这就是图片拖拽上传的前端处理方法,over!

h5拖拽上传图片

原文地址:https://www.cnblogs.com/7Ezreal/p/8213612.html

知识推荐

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