Heim  >  Artikel  >  Web-Frontend  >  HTML5-Drag-and-Drop-Upload-Beispielcode für die Dateifreigabe

HTML5-Drag-and-Drop-Upload-Beispielcode für die Dateifreigabe

黄舟
黄舟Original
2017-03-13 17:24:321497Durchsuche

Dieser Artikel stellt hauptsächlich ein einfaches Beispiel für das Ziehen und Hochladen von HTML5 vor. Der Editor findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es als geben Referenz. Schauen wir uns den Editor an.

Ich habe auf dem HTML5-PC ziemlich viele Funktionen implementiert. Ich nutze auch das Hochladen per Drag & Drop bei der Arbeit

Auf dem Drag-Ziel (Quellelement) ausgelöste Ereignisse:

ondragstart – wird ausgelöst, wenn der Benutzer mit dem Ziehen des Elements beginnt

ondrag – wird ausgelöst, während das Element wird gezogen

ondragend – wird ausgelöst, wenn der Benutzer das Ziehen des Elements abgeschlossen hat

Ereignis wird ausgelöst, wenn das Ziel losgelassen wird:

ondragenter – beim Ziehen mit der Maus. Dieses Ereignis wird ausgelöst, wenn ein sich bewegendes Objekt in den Geltungsbereich seines Containers gelangt.

ondragover – Dieses Ereignis wird ausgelöst, wenn ein gezogenes Objekt in den Geltungsbereich von gezogen wird Container eines anderen Objekts

ondragleave – Dieses Ereignis wird ausgelöst, wenn das mit der Maus gezogene Objekt den Bereich seines Containers verlässt

ondrop – Dieses Ereignis wird ausgelöst, wenn die Maustaste während eines Ziehvorgangs losgelassen wird

Code oben


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖拽</title>
    <style>
        .box{width:800px;height:600px;float:left;}
        #box1{background-color:#ccc;}
        #box2{background-color:#000;}
    </style>
</head>
<body>
    <p id="box1" class="box"></p>
    <p id="box2" class="box"></p>
    <img id="img1" src="1.jpg">
    <p id="msg"></p>
</body>
<script>
var box1p,box2p,msgp,img1; 
window.onload = function(){
    box1p = document.getElementById(&#39;box1&#39;);
    box2p = document.getElementById(&#39;box2&#39;);
    msgp = document.getElementById(&#39;msg&#39;);
    img1 = document.getElementById(&#39;img1&#39;);
    box1p.ondragover = function(e){e.preventDefault();}
    box2p.ondragover = function(e){e.preventDefault();}

    img1.ondragstart = function(e){e.dataTransfer.setData(&#39;imgId&#39;,&#39;img1&#39;);}
    box1p.ondrop = dropImghandler;
    box2p.ondrop = dropImghandler;
}
function dropImghandler(e){
    showObj(e);//获取拖放所有信息
    showObj(e.dataTransfer);//获取文件
    e.preventDefault();
    var img = document.getElementById(e.dataTransfer.getData(&#39;imgId&#39;));
    e.target.appendChild(img);
}
function showObj(obj){
    var s = &#39;&#39;;
    for(var k in obj){s += k+":"+obj[k]+"<br/>";}
    msgp.innerHTML = s;
}
</script>
</html>

Diese Funktion ist eine Methode zum Ziehen von Bildern nach links und rechts p. Es kann als Harbin Beer verwendet werden

Das Folgende ist der Drag-and-Drop-Upload-Code Nachdem das Back-End-PHP $_FILES erhalten hat, kann es gestartet werden


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖放上传</title>
    <style>
        #imgContainer{background:#ccc;width:500px;height:500px;}
    </style>
</head>
<body>
    <p id="imgContainer"></p>
    <p id="msg"></p>
</body>
<script>
var imgContainer,msgp;
window.onload = function(e){
    imgContainer = document.getElementById(&#39;imgContainer&#39;);
    msgp = document.getElementById(&#39;msg&#39;);
    imgContainer.ondragover = function(e){
        e.preventDefault();
    }
    imgContainer.ondrop = function(e){
        e.preventDefault();
        var f = e.dataTransfer.files[0];   
        //这时已经获取到文件了,具体想要用第几个文件自己处理,发post请求后端处理就行了!

        //下面是图片获取到之后显示在imgContainer中的流程
        // var fileReader = new FileReader();
        // fileReader.onload=function(){
        //  imgContainer.innerHTML = "<img src=\""+fileReader.result+"\">"
        // }
        // fileReader.readAsDataURL(f);
        // showObj(e);   //显示上传信息
        // showObj(e.dataTransfer.files);
    }
}
function showObj(obj){
    var s = &#39;&#39;;
    for(var k in obj){s += k+":"+obj[k]+"<br/>";}
    msgp.innerHTML = s;
}
</script>
</html>

Das obige ist der detaillierte Inhalt vonHTML5-Drag-and-Drop-Upload-Beispielcode für die Dateifreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn