我把一些用不到的HTML code 去除後,留下比較陽春的功能,在學習這個 plugin 時,會比較容易上手。
和 Basic Version 相比較,Essentail Version 的功能如下:
1、多檔案上傳
2、支援 Drag and Drop
3、
4、
5、
6、支援 PHP, Python, Ruby on Rails , Java, Node.js, Go ...等伺服器端語言
準備工作:
Basic Version 會用到的伺服器端(PHP)相關的檔案結構如下:js/ (請將下載下來的原始碼中,js 目錄下的所有檔案複製到這個目錄下)
files/ (檔案上傳後的存放目錄,請將其權限設為可讀寫)
UploadHandler.php (請參考前一篇的內容)
upload_process.php (請參考前一篇的內容)
Basic Version 會用到的 Client端 HTML 檔案(essential.html)內容如下:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>多檔案上傳範例 - 陽春款</title> </head> <body> <div class="container"> <h1>多檔上傳範例 -- 陽春款</h1> <h2 class="lead">Essential Version</h2> <br> <input id="fileupload" type="file" name="files[]" multiple> <br> <br> <!-- 上傳成功後會在此區顯示檔名 --> <div id="uploaded-files" class="uploaded-files"></div> <br> </div> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <!-- 如果你已經使用了 jQuery UI, 就不用再導入 jquery.ui.widget.js --> <script src="js/vendor/jquery.ui.widget.js"></script> <script src="js/jquery.fileupload.js"></script> <script> $(function () { 'use strict'; // 將 url 這個變數改成你的伺服器端處理程式 var url = 'upload_process.php'; $('#fileupload').fileupload({ url: url, dataType: 'json', done: function (e, data) { $.each(data.result.files, function (index, file) { $('<p/>').text(file.name).appendTo('#uploaded-files'); }); } }); }); </script> </body> </html>
跟之前最大的不同處,是在於範例一是用表單將 file 的資料傳給處理程式(upload_process.php),但是這個範例是利用 jQuery File Upload 這個 plugin ,將 file 這個表單元件的資料一個一個傳給處理程式(upload_process.php),然後再利用其json格式的傳回值,將上傳完成的檔案名稱顯示在畫面上。
操作步驟:
1、請先用瀏覽器(例:Chrome)打開 essential.html,然後按下「選擇檔案」的按鈕;或是直接將檔案拖曳至「選擇檔案」的按鈕上。
2、拿 Win7 裏的範例圖片(Koala.jpg)來測試
3、就可以看到畫面上顯示出 Koala.jpg 的檔名。
相關文件:
jQuery plugin: jQuery-File-Upload 多檔案上傳(一)使用前的熱身參考資料:
1、jQuery File Upload Demo -- Basichttp://blueimp.github.io/jQuery-File-Upload/basic.html
1 則留言:
非常感謝你~~
張貼留言