zoukankan      html  css  js  c++  java
  • js拖拽上传图片

    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!

  • 相关阅读:
    【C++】C++代码动态检查
    【加解密】使用CFSSL生成证书并使用gRPC验证证书
    分库分表下跨库join解决方案
    解决1235
    为什么v-for中的key值不推荐使用index
    弹性布局公共样式总结
    关于python的模块
    [转]Ubuntu18.04安装uwsgi错误:error: lto-wrapper failed collect2: error: ld returned 1 exit status
    python 坐标遍历 生成笛卡尔积矩阵
    Mongo BsonUndefined 转换问题(自定义Mongo类型转换器)
  • 原文地址:https://www.cnblogs.com/7Ezreal/p/8213612.html
Copyright © 2011-2022 走看看