jQuery插件WebUploader實(shí)現(xiàn)文件上傳
最近在項(xiàng)目中用到了百度的文件圖片上傳插件WebUploader,分享給大家。
WebUploader是由Baidu WebFE(FEX)團(tuán)隊(duì)開(kāi)發(fā)的一個(gè)簡(jiǎn)單的以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件。在現(xiàn)代的瀏覽器里面能充分發(fā)揮HTML5的優(yōu)勢(shì),同時(shí)又不摒棄主流IE瀏覽器,沿用原來(lái)的FLASH運(yùn)行時(shí),兼容IE6+,iOS 6+, android 4+。兩套運(yùn)行時(shí),同樣的調(diào)用方式,可供用戶任意選用。 采用大文件分片并發(fā)上傳,極大的提高了文件上傳效率。
需要在http://fex.baidu.com/webuploader/download.html點(diǎn)擊打開(kāi)鏈接下載WebUploader
// 初始化Web Uploader***上傳圖片
var uploader = WebUploader.create({
// 選完文件后,是否自動(dòng)上傳。
auto: true,
// 文件接收服務(wù)端地址,自動(dòng)生成縮略圖需要后端完成。
server: '/common/uploadFile?imageZip=1',
// 選擇文件的按鈕。可選。
// 內(nèi)部根據(jù)當(dāng)前運(yùn)行是創(chuàng)建,可能是input元素,也可能是flash.
pick: '#sendimg',
fileNumLimit: 5,
//allowMagnify: false,
// 只允許選擇圖片文件。
accept:{
title: 'Images',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'image/*'
}
});
// 當(dāng)有文件添加進(jìn)來(lái)的時(shí)候
uploader.on( 'fileQueued', function( file ) {
var $li = $(
'<div style="float:right" id="' + file.id + '" class="delimg">' +
'<img class="addimg"><div class="closeimg">×</div>' +
'</div>'
),
$img = $li.find('img');
// $list為容器jQuery實(shí)例
$("#piccon").append( $li );
// 創(chuàng)建縮略圖
// 如果為非圖片文件,可以不用調(diào)用此方法。
// thumbnailWidth x thumbnailHeight 為 100 x 100
uploader.makeThumb( file, function( error, src ) {
if ( error ) {
$img.replaceWith('<span>不能預(yù)覽</span>');
return;
}
$img.attr( 'src', src );
}, 100, 100 );
$li.on('click', function() {
$(this).remove();
})
});
// 文件上傳過(guò)程中創(chuàng)建進(jìn)度條實(shí)時(shí)顯示。
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.progress span');
// 避免重復(fù)創(chuàng)建
if ( !$percent.length ) {
$percent = $('<p class="progress"><span></span></p>')
.appendTo( $li )
.find('span');
}
$percent.css( 'width', percentage * 100 + '%' );
});
// 文件上傳成功,給item添加成功class, 用樣式標(biāo)記上傳成功。
uploader.on( 'uploadSuccess', function( file,response ) {
imgurl=response.fileName;//這里可以拿到后臺(tái)返回的圖片名稱(chēng)
//alert(imgurl);
$( '#'+file.id ).addClass('upload-state-done');
});
// 文件上傳失敗,顯示上傳出錯(cuò)。
uploader.on( 'uploadError', function( file ) {
var $li = $( '#'+file.id ),
$error = $li.find('div.error');
// 避免重復(fù)創(chuàng)建
if ( !$error.length ) {
$error = $('<div class="error"></div>').appendTo( $li );
}
$error.text('上傳失敗');
});
// 完成上傳完了,成功或者失敗,先刪除進(jìn)度條。
uploader.on( 'uploadComplete', function( file ) {
$( '#'+file.id ).find('.progress').remove();
});
更多精彩內(nèi)容,請(qǐng)點(diǎn)擊《jQuery上傳操作匯總》,進(jìn)行深入學(xué)習(xí)和研究。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery webuploader分片上傳大文件
- 快速掌握jQuery插件WebUploader文件上傳
- 百度多文件異步上傳控件webuploader基本用法解析
- jquery組件WebUploader文件上傳用法詳解
- 基于WebUploader的文件上傳js插件
- 使用Web Uploader實(shí)現(xiàn)多文件上傳
- Java中使用WebUploader插件上傳大文件單文件和多文件的方法小結(jié)
- php結(jié)合web uploader插件實(shí)現(xiàn)分片上傳文件
- Web Uploader文件上傳插件使用詳解
- 關(guān)于webuploader插件使用過(guò)程遇到的小問(wèn)題
相關(guān)文章
jQuery插件passwordStrength密碼強(qiáng)度指標(biāo)詳解
這篇文章主要為大家詳細(xì)介紹了jQuery插件passwordStrength密碼強(qiáng)度指標(biāo)實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-06-06
jQuery簡(jiǎn)單實(shí)現(xiàn)banner圖片切換
本篇文章主要是對(duì)使用jQuery簡(jiǎn)單實(shí)現(xiàn)banner圖片切換的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
基于jQuery的讓textarea支持Ctrl+Z步步撤銷(xiāo)功能
基于jQuery的讓textarea支持Ctrl+Z步步撤銷(xiāo)功能,需要的朋友可以參考下。2011-10-10
使用jQuery實(shí)現(xiàn)簡(jiǎn)單穿梭框方式
這篇文章主要介紹了使用jQuery實(shí)現(xiàn)簡(jiǎn)單穿梭框方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10

