WebUploader是由Baidu WebFE(FEX)團隊開發的一個簡單的以HTML5為主,FLASH為輔的現代檔案上傳元件。在現代的瀏覽器裡面能充分發揮HTML5的優勢,同時又不摒棄主流IE瀏覽器,沿用原來的FLASH運行時,兼容IE6+,iOS 6+, android 4+。兩套運作時,同樣的呼叫方式,可供用戶任意選用。採用大文件分片並發上傳,極大的提高了文件上傳效率。本文主要為大家詳細介紹了Jquery上傳外掛webupload的使用方法,具有一定的參考價值,有興趣的夥伴們可以參考一下,希望能幫助大家。
這個外掛很好用,功能也比較強大,比ajaxfileupload要強大,可去官方網站下載。
目前專案中只用到了圖片批次上傳功能,官方範例已經寫的很詳細了,以下介紹如何把官方範例移轉到自己的專案:
// 实例化 uploader = WebUploader.create({ pick: { id: '#filePicker', label: '点击选择图片' }, formData: { uid: 123 }, dnd: '#dndArea', paste: '#uploader', swf: '../../dist/Uploader.swf', chunked: false, chunkSize: 512 * 1024, server: '../../server/fileupload.php', // runtimeOrder: 'flash', // accept: { // title: 'Images', // extensions: 'gif,jpg,jpeg,bmp,png', // mimeTypes: 'image/*' // }, // 禁掉全局的拖拽功能。这样不会出现图片拖进页面的时候,把图片打开。 disableGlobalDnd: true, fileNumLimit: 300, fileSizeLimit: 200 * 1024 * 1024, // 200 M fileSingleSizeLimit: 50 * 1024 * 1024 // 50 M });
1、server 修改為自己的後台處理類別透過HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; request.Files的方式取得插件上傳的圖片。
2、範例程式預設是啟用壓縮的,這個可以設置,當圖片大於多少是可以自動壓縮圖片的,如果不需要壓縮,則需要再初始化的時候添加compress:false, 屬性
3、
accept: { title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' },
官方上傳圖片的範例不知道什麼原因把圖片篩選這個註解掉了,如果想上傳的檔案只能選擇圖片,則需要去掉註解
4、增加了對圖片像素大小的判斷,自己用了uploadAccept 方法,是把圖片提交上去了之後再後台進行判斷的,(不知是否有更好的辦法)因為插件本身的file類別是可以處理檔案的,所以並沒有單獨取得像素的屬性,範例:
uploader.on('uploadAccept', function (object, ret) { var resJson = $.parseJSON(ret._raw); if (resJson.result == "error") { alert(object.file.name + "象素太低,请检查上传!"); return false; } });
該方法傳回false的時候,會導致圖片上傳失敗,所以後台判斷像素後透過後台返回的狀態來改變圖片上傳的狀態。
相關推薦:
以上是jQuery上傳外掛webupload使用方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!