picture drag and drop

Tags html5 js css


2015-01-29 21:00:11


#html5 图片拖动到div 生成base64

<style type="text/css" media="screen">
        #drop_zone {border:2px #bbb dashed; padding:25px; text-align:center;
            -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;}
</style>
<div id="drop_zone"><noscript>必须有js支持</noscript></div>

var box=document.getElementById('drop_zone'); //拖拽区域
       box.innerHTML = "拖动缩略图到这里";
       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.webkitURL.createObjectURL(fileList[0]);
           var filename = fileList[0].name; //图片名称
           var filesize = Math.floor((fileList[0].size)/1024);
           if(filesize>500){
               pm.show('e','图片不能超过500kb');
               return false;
           }
           console.log(fileList[0]);
           var reader = new FileReader();
           reader.onload = (function() {
               return function(e) {
                   var dataUri = e.target.result,
                       base64 = dataUri.substr(dataUri.indexOf(',') + 1);
                   console.log(base64)
                        };
           })();
           // read file as data URI
           reader.readAsDataURL(fileList[0]);
       },false);


本人博客文章采用CC Attribution-NonCommercial协议: CC Attribution-NonCommercial 必须保留原作者署名,并且不允许用于商业用途,其他行为都是允许的。