1. 程式人生 > 其它 >js圖片拖拽系列3----拖拽本地圖片並上傳

js圖片拖拽系列3----拖拽本地圖片並上傳

技術標籤:圖片處理jshtml5csshtml

js圖片拖拽系列3----拖拽本地圖片並上傳
在這裡插入圖片描述

<!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> .box { width: auto; height: 200px; width: 200px; overflow: hidden; background-color: rgb(120, 138, 101) } img { width: 50px; height: 50px; } </style> </head> <
body> <div id="img" class="box" ondragover="dragOver(event)" ondrop="drop(event)"></div> <script src="scripts/axios.min.js"></script> <script> function dragStart(e) { e.dataTransfer.setData
("id", e.target.id);//將img的id寫入 } function dragOver(e) { e.preventDefault();//阻止拖拽結束的預設行為,會把檔案作為連結開啟。 } function drop(e) { e.preventDefault();//阻止拖拽結束的預設行為,會把檔案作為連結開啟。 var id = e.target.id;//得到div的id var box = document.getElementById(id);//通過id得到div var file = e.dataTransfer.files[0];//得到檔案 var fileReader = new FileReader(); fileReader.readAsDataURL(file);//將file讀為url fileReader.onload = function (ev) {//為div新增一個圖片,圖片路徑為拖拽的檔案路徑 var img = document.createElement("img"); img.src = fileReader.result; box.appendChild(img); } // 拖拽圖片上傳 let filelist2 = event.dataTransfer.files; let formData = new FormData(); // // 通過迴圈結構將拖放形成的FileList物件中的File物件,依次 // // 新增到FormData中 for (let n = 0; n < filelist2.length; n++) { formData.append('upload', filelist2.item(n)); } console.log(formData) // 將FormData物件提交到WEB伺服器 axios.post('http://127.0.0.1:3000/upload', formData); } </script> </body> </html>