檔案拖拽上傳

2022-09-06 19:33:10 字數 1035 閱讀 3119

乙個簡單的檔案非同步拖拽上傳

dom結構:

檔案的拖拽上傳我們只需要在html中寫乙個容器就可以可以根據我們額實際需求可以改成長的圓的方的~,結構如下:

<

div

id="demo"

>

div>

拖拽指令碼實現:

拖拽的實現主要依賴三個事件和兩個物件

三個事件:ondragenter、ondragover、ondrop

兩個物件:formdata、xmlhttprequest

直接在目標元素上繫結事件物件,進行一些邏輯處理,**如下:

window.onload = function

() }

function

sendfile(file)

else

var fd = new

formdata();

xhr.open("post","demo!upload.action",true

) xhr.send(fd)

xhr.onreadystatechange = function

() }

}function

handler(e)

}

拖拽上傳的實現主要依賴ondragenter、ondragover、ondrop這三個事件,前後臺資料的互動是在ondrop事件中來實現的ondragenter、ondragover這兩個事件不執行我們主要的操作,但是也是必須的無論在哪個事件中我們都需要取消冒泡和組織預設行為。

ondrop事件處理函式中我們拖拽的檔案物件是存在於事件物件event中的,我們可以使用e.datatransfer.files方法來進行獲取。

xmlhttprequest物件和我們平時使用的ajax一樣不做過多的解釋。

為了方便我們平時的使用我們可以在element建構函式的原型上面自己擴充套件乙個拖拽上傳的介面方法。

乙個小demo

不能拖拽上傳的md檔案

不能拖拽上傳的md檔案 在某平台拖拽md檔案發部落格,突然有天提示,你只能上傳。明明是md檔案好吧?後來找到原因,因為我的這篇文章是從乙個txt 非空的 檔案轉來的,而這個txt檔案預設編碼是ascii。所以文章從txt序列化為md格式後,這些中文就是ascii碼。而某平台讀取拖拽的md檔案內容的編...

spring html5 拖拽上傳多檔案

注 這只是乙個粗略筆記。有些 可能沒用。後續會再更新乙個可以使用的版本。不足之處,敬請見諒。1。spring環境搭建,這裡使用的是spring3的jar,需要同時引入common io 和common fileupload的jar包。1.1spring.xml檔案配置bean value x 根據實...

html5 檔案拖拽上傳

本文首先發表在 碼蜂筆記 html5 檔案拖拽上傳是個老話題了,網上有很多例子,我一開始的 也是網上找來改的,只是踩了幾個坑之後就想把過程記錄下來。下面主要介紹從瀏覽器外拖拽檔案到瀏覽器進行上傳的實現。首先會介紹一些必須的基礎。拖拽事件有下面這些 拖拽物件用來傳遞資料的媒介,通過拖拽事件的event...