Dropzone.js實現(xiàn)文件拖拽上傳功能(附源碼下載)
dropzone.js是一個開源的JavaScript庫,提供 AJAX 異步文件上傳功能,支持拖拽文件、支持最大文件大小、支持設置文件類型、支持預覽上傳結果,不依賴jQuery庫。
使用Dropzone
我們可以建立一個正式的上傳form表單,并且給表單一個.dropzone的class。
<form id="mydropzone" action="/upload.php" class="dropzone"></form>
就這樣,Dropzone會自動找到.dropzone的表單form元素,并且通過action屬性,上傳到后臺接收文件的程序,如upload.php,就像接受一個很普通的file input表單:
<input type="file" name="file" />
然后,在你的upload.php中寫上傳代碼,Dropzone官網(wǎng)下載的只有js代碼,沒有后臺的上傳代碼,不過,helloweba.com為您提供了php版的完整上傳實例代碼,歡迎下載源碼。
接下來就是引入dropzone.js了。
<script src="dropzone.min.js"></script>
然后什么都不用做了,打開瀏覽器,測試拖拽上傳效果。當然樣式你可以自己寫,也可以參照我們的實例代碼。
還有一種情況,我們不希望上傳的html中有form表單,那么好,我們只要在html中放置一個div#mydropzone
<div id="mydropzone" class="dropzone"></div>
然后,配置一下js調用:
var myDropzone = new Dropzone("div#mydropzone", { url: "upload.php"});
如果您使用的是jquery,那么jQuery版的可以這樣調用:
$("#dropz").dropzone({ url: "upload.php" })
運行你的網(wǎng)頁,是不是一樣可以看到上傳效果。
配置Dropzone
Dropzone的特色就在于非常靈活,提供了許多可選項、事件等。下面是Dropzone幾個常用的配置項。
url:最重要的參數(shù),指明了文件提交到哪個頁面。
method:默認為post,如果需要,可以改為put。
paramName:相當于<input>元素的name屬性,默認為file。
maxFilesize:最大文件大小,單位是 MB。
maxFiles:默認為null,可以指定為一個數(shù)值,限制最多文件數(shù)量。
addRemoveLinks:默認false。如果設為true,則會給文件添加一個刪除鏈接。
acceptedFiles:指明允許上傳的文件類型,格式是逗號分隔的 MIME type 或者擴展名。例如:image/*,application/pdf,.psd,.obj
uploadMultiple:指明是否允許 Dropzone 一次提交多個文件。默認為false。如果設為true,則相當于 HTML 表單添加multiple屬性。
headers:如果設定,則會作為額外的 header 信息發(fā)送到服務器。例如:{"custom-header": "value"}
init:一個函數(shù),在 Dropzone 初始化的時候調用,可以用來添加自己的事件監(jiān)聽器。
forceFallback:Fallback 是一種機制,當瀏覽器不支持此插件時,提供一個備選方案。默認為false。如果設為true,則強制 fallback。
fallback:一個函數(shù),如果瀏覽器不支持此插件則調用。
以上所述是小編給大家介紹的Dropzone.js實現(xiàn)文件拖拽上傳,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
chorme 瀏覽器記住密碼后input黃色背景處理方法(兩種)
使用chrome瀏覽器選擇記住密碼的賬號,輸入框會自動加上黃色的背景,有些設計輸入框是透明背景的,需要去除掉這個黃色的背景。下面給大家分享chorme 瀏覽器記住密碼后input黃色背景處理方法,一起看看吧2017-11-11JavaScript獲取移動設備型號的實現(xiàn)代碼(JS獲取手機型號和系統(tǒng))
這篇文章主要介紹了JavaScript獲取移動設備型號的實現(xiàn)代碼,需要的朋友可以參考下2018-03-03JavaScript中關于for循環(huán)刪除數(shù)組元素內(nèi)容時出現(xiàn)的問題
昨天在用for循環(huán)進行數(shù)組去重的時候出現(xiàn)的問題小結,怎么解決這個問題呢,今天小編通過本文給大家講解下js循環(huán)刪除數(shù)組元素的方法,一起看看吧2016-11-11聊聊JavaScript中的try...catch使用小技巧
作為一名web前端工程師,JavaScript中的try...catch是我們常用的特性之一,用于處理代碼中可能出現(xiàn)的錯誤,本文小編將和大家一起聊聊JavaScript中的try...catch使用小技巧,需要的朋友可以參考下2023-11-11從JQuery源碼分析JavaScript函數(shù)的apply方法與call方法
這篇文章主要介紹了從JQuery源碼分析JavaScript函數(shù)的apply方法與call方法,本文結合JQuery源碼和js高級程序設計再次探究apply方法與call方法,需要的朋友可以參考下2014-09-09深入理解JavaScript創(chuàng)建對象的多種方式以及優(yōu)缺點
本篇文章主要介紹了JavaScript創(chuàng)建對象的多種方式以及優(yōu)缺點,主要介紹了5種方式,有興趣的可以了解下2017-06-06