1. 程式人生 > 其它 >pc端拖拽圖片上傳

pc端拖拽圖片上傳

技術標籤:技術交流技術總結前端jsjavascripthtml

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    *
{ padding: 0; margin: 0; list-style-type: none; } html, body { padding: 10px; } #area { width: 400px; height: 400px; border: 1px solid black; }
</style> </head> <body> <div id="area">將圖片拖拽到此區域</div>
<div id="preview"></div> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script> // 禁止瀏覽器預設事件 - 非常重要 $(document).on({ dragleave: function (e) { //拖離 e.preventDefault(); }, drop: function
(e) { //拖後放 e.preventDefault(); }, dragenter: function (e) { //拖進 e.preventDefault(); }, dragover: function (e) { //拖來拖去 e.preventDefault(); } }); var box = document.getElementById('area'); //拖拽區域 box.addEventListener("drop", function (e) { e.preventDefault(); //取消預設瀏覽器拖拽效果 var fileList = e.dataTransfer.files; //獲取檔案物件 //檢測是否是拖拽檔案到頁面的操作 if (fileList.length == 0) { alert('不是圖片') return false; } //檢測檔案是不是圖片 if (fileList[0].type.indexOf('image') === -1) { alert("您拖的不是圖片!"); return false; } //拖拉圖片到瀏覽器,可以實現預覽功能 var imgurl = window.webkitURL.createObjectURL(fileList[0]); var filename = fileList[0].name; //圖片名稱 var filesize = Math.floor((fileList[0].size) / 1024); console.log(fileList[0]) if (filesize > 2048) { alert("上傳大小不能超過2M."); return false; } let img = document.createElement('img') img.src = imgurl; document.querySelector('#preview').appendChild(img) // 上傳伺服器邏輯自己寫 }, false);
</script> </body> </html>