首页 > 代码库 > 文件拖拽上传

文件拖拽上传

 1 <style>
 2         div{
 3             width: 300px;
 4             height: 300px;
 5             border:1px dashed #000;
 6             position:absolute;
 7             top: 50%;
 8             left: 50%;
 9             margin:-150px 0 0 -150px;
10             text-align:center;
11             font:20px/300px 微软雅黑;
12             display:none;
13         }
14     </style>
15     <script>
16                             window.onload = function () {
17                                 var oBox = document.getElementById(box);
18                                 var oM = document.getElementById(m1);
19                                 var timer = null;
20                                 document.ondragover = function(){
21                                     clearTimeout(timer);
22                                     timer = setTimeout(function(){
23                                         oBox.style.display = none;
24                                     },200);
25                                     oBox.style.display = block;
26                                 };
27                                 //进入子集的时候 会触发ondragover 频繁触发 不给ondrop机会
28                                 oBox.ondragenter = function(){
29                                     oBox.innerHTML = 请释放鼠标;
30                                 };
31                                 oBox.ondragover = function(){
32                                     return false;
33                                 };
34                                 oBox.ondragleave = function(){
35                                     oBox.innerHTML = 请将文件拖拽到此区域;
36                                 };
37                                 oBox.ondrop = function(ev){
38                                     var oFile = ev.dataTransfer.files[0];
39                                     var reader = new FileReader();
40                                     //读取成功
41                                     reader.onload = function(){
42                                         console.log(reader);
43                                     };
44                                     reader.onloadstart = function(){
45                                         alert(读取开始);
46                                     };
47                                     reader.onloadend = function(){
48                                         alert(读取结束);
49                                     };
50                                     reader.onabort = function(){
51                                         alert(中断);
52                                     };
53                                     reader.onerror = function(){
54                                         alert(读取失败);
55                                     };
56                                     reader.onprogress = function(ev){
57                                         var scale = ev.loaded/ev.total;
58                                         if(scale>=0.5){
59                                             alert(1);
60                                             reader.abort();
61                                         }
62                                         oM.value = http://www.mamicode.com/scale*100;
63                                     };
64                                     reader.readAsDataURL(oFile,base64);
65                                     return false;
66                                 };
67                             };
68                         </script>
69                         </head>
70                         <body>
71                         <meter id="m1" value=http://www.mamicode.com/"0" min="0" max="100"></meter>
72                             <div id="box">请将文件拖拽到此区域</div>
73                         </body>

 

文件拖拽上传