Dropzone.js實現檔案拖拽上傳

來源:互聯網
上載者:User

標籤:psd   參考   額外   hello   eth   支援   開啟   headers   樣式   

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官網下載的只有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" 
 })

運行你的網頁,是不是一樣可以看到上傳效果。

配置Dropzone

Dropzone的特色就在於非常靈活,提供了許多可選項、事件等。下面是Dropzone幾個常用的配置項。

url:最重要的參數,指明了檔案提交到哪個頁面。

method:預設為post,如果需要,可以改為put。

paramName:相當於<input>元素的name屬性,預設為file。

maxFilesize:最大檔案大小,單位是 MB。

maxFiles:預設為null,可以指定為一個數值,限制最多檔案數量。

addRemoveLinks:預設false。如果設為true,則會給檔案添加一個刪除連結。

acceptedFiles:指明允許上傳的檔案類型,格式是逗號分隔的 MIME type 或者副檔名。例如:image/*,application/pdf,.psd,.obj

uploadMultiple:指明是否允許 Dropzone 一次提交多個檔案。預設為false。如果設為true,則相當於 HTML 表單添加multiple屬性。

headers:如果設定,則會作為額外的 header 資訊發送到伺服器。例如:{"custom-header": "value"}

init:一個函數,在 Dropzone 初始化的時候調用,可以用來添加自己的事件監聽器。

forceFallback:Fallback 是一種機制,當瀏覽器不支援此外掛程式時,提供一個備選方案。預設為false。如果設為true,則強制 fallback。

fallback:一個函數,如果瀏覽器不支援此外掛程式則調用。

更多有關Dropzone的資訊請參考官網:http://www.dropzonejs.com/

Dropzone.js實現檔案拖拽上傳

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.