成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery插件uploadify實現ajax效果的圖片上傳
全站頭部文字 我要出現在這里
jQuery插件uploadify實現ajax效果的圖片上傳 704 2024-02-27   

昨天做了一天的ajax效果的圖片上傳,就是想讓自己學的更加的精一些,所以看了很多第三方的控件,最后還是選擇了uploadify這個控件,主要原因是比較容易上手。

首先我們先參考別人的資料(我自己整理了一下)

可選項

需要參數類型 參數名字 解釋 (布爾型) auto 當文件被添加到隊列時,自動上傳。 (字符串) buttonImg 瀏覽按鈕的背景圖片路徑。 (字符串) buttonText 默認在按鈕上顯示的文本。 (字符串) cancelImg 取消按鈕的背景圖片路徑。 (字符串) checkScript 用以檢查服務器上已存在文件的后臺腳本的路徑。【譯者注:應該是ajax方式】 (字符串) displayData 在上傳過程中顯示在隊列里的數據類型。 (字符串) expressInstall expressInstall.swf文件的路徑。 (字符串) fileDataName 后臺腳本中要處理的file域的名稱。【譯者注:就是type為file的input的name值】 (字符串) fileDesc 在瀏覽窗口底部的文件類型下拉菜單中顯示的文本。 (字符串) fileExt 允許上傳的文件后綴。【譯者注:.jpg/.png等】 (字符串) folder 上傳文件夾的路徑,文件上傳后將被保存于此。 (整型) height 瀏覽按鈕的高度。 (布爾型) hideButton 設置為true將隱藏flash按鈕,這樣你就可以為下面的div元素定義樣式。 (字符串) method 向后臺腳本放送數據的表單方法。 (布爾型) multi 設置為true將允許多文件上傳。 (字符串) queueID 頁面中,你想要用來作為文件隊列的元素的id。 (整型) queueSizeLimit 上傳隊列中所允許的文件數量。 (布爾型) removeCompleted 設置為true將自動移除隊列中已經完成上傳的項目。 (布爾型) rollover 設置為true將激活瀏覽按鈕的鼠標劃過狀態。 (字符串) script 處理文件上傳的后臺腳本的路徑。 (字符串) scriptAccess 設置在主swf文件中的腳本訪問模式。 (JSON) scriptData 在文件上傳時,應該被發送給后臺腳本的一個包含name/value鍵值對以及一些額外信息的json對象。 (整型) simUploadLimit 允許同時上傳的文件數量。 (整型) sizeLimit 上傳文件的大小限制,單位為字節。 (字符串) uploader uploadify.swf文件的路徑。 (整型) width 瀏覽按鈕的寬度。 (字符串) wmode flash文件的wmode。

事件

(函數) onAllComplete 當上傳隊列中的所有文件都完成上傳時觸發。 (函數) onCancel 當從上傳隊列每移除一個文件時觸發一次。 (函數) onCheck 在上傳開始之前,如果檢測到一個同名文件時觸發。 (函數) onClearQueue 當uploadifyClearQueue()方法被調用時觸發。 (函數) onComplete 每完成一次文件上傳時觸發一次。 (函數) onError 當上傳返回錯誤時觸發。 (函數) onInit 當Uploadify實例被載入時觸發。 (函數) onOpen 當上傳隊列中的一個文件開始上傳時就觸發一次。 (函數) onProgress 在上傳過程中觸發。 (函數) onQueueFull 當文件數量達到上傳隊列限制時觸發。 (函數) onSelect 每向上傳隊列添加一個文件時觸發。 (函數) onSelectOnce 每向上傳隊列添加一個或一組文件時觸發。 (函數) onSWFReady 當flash文件載入完成時觸發。

方法

.uploadify() 創建Uploadify上傳組件的一個實例。 .uploadifyCancel() 從上傳隊列移除一個文件。如果文件正在上傳,該方法將先取消上傳,然后再將文件移除出上傳隊列。 .uploadifyClearQueue() 將所有文件移除出上傳隊列,并且取消正在執行的所有上傳。 .uploadifySettings() 改變Uploadify組件的可選參數。 .uploadifyUpload() 觸發上傳。

這里會用到一些參數,但是我們并不需要完全的掌握這些參數,用之前看看有哪些參數,倒是自己會用哪些參數就ok。

由于時間有限,我把核心的代碼先發出來,供大家參考:

在<head>標簽中先應用css樣式 <link rel="stylesheet" type="text/css" />路徑這里你的可能和我的不一樣

接著再在<head>標簽中應用js,js代碼注意先后順序,不然會報錯。

<script type="text/javascript" src="http://www.gimoo.net/t/js/jquery-1.4.2.min.js"></script>
<script src="http://www.gimoo.net/t/Plugin/swfobject.js" type="text/javascript"></script>
<script src="http://www.gimoo.net/t/Plugin/jquery.uploadify.v2.1.4.min.js" type="text/javascript"></script>

同樣這里路徑是改成你自己的路徑。uploaddiy是用jquery開發的,那我們就要先應用jquery才可以再使用uploaddiy所以要注意應用js的時候注意先后順序

接著是核心的html代碼

<tr>
<th scope="row">圖 片:</th>
<td>
  <div style="float:left;width:125px;height:35px;">
   <input type="file" name="uploadify" id="uploadify" /> <%--上傳時的進度條--%>
 </div>
 <div id="fileQueue" style="float:left;height:35px;"></div>
 <div style="float:left;height:35px;">
   <a href="javascript:$('#uploadify').uploadifyUpload()" class="btn-lit"><span>上傳</span></a>
  <a href="javascript:$('#uploadify').uploadifyClearQueue()" class="btn-lit"><span>取消上傳</span></a>
 </div>
</td>
</tr>
<tr>
  <th scope="row"> </th>
  <td><asp:Image ID="pic" runat="server" /></td>  <%--成功上傳生成圖片預覽功能--%>
</tr>

寫的時候寫在form的table表中

接著我們開始完成控件給我們需要完成的接口代碼如下:

//uploadify插件的自定義設置
$(document).ready(function () {
 $("#uploadify").uploadify({
  'uploader': '../Plugin/uploadify.swf',
  'script': 'UploadImg.ashx',
  'cancelImg': '../Plugin/cancel.png',
  'folder': '../upload',
  'buttonText': 'SELECT Pic',
  'fileExt': '*.jpg;*.gif,*.png',     //允許上傳的文件格式為*.jpg,*.gif,*.png
  'fileDesc': 'Web Image Files(.JPG,.GIF,.PNG)', //過濾掉除了*.jpg,*.gif,*.png的文件
  'queueID': 'fileQueue',
  'sizeLimit': '2048000',       //最大允許的文件大小為2M
  'auto': false,         //需要手動的提交申請
  'multi': false,         //一次只允許上傳一張圖片
  'onCancel': funCancel,       //當用戶取消上傳時
  'onComplete': funComplete,      //完成上傳任務
  'OnError': funError        //上傳發生錯誤時
 });
});

//用戶取消函數
function funCancel(event, ID, fileObj, data) {
 jBox.tip('您取消了' + fileObj.name + '操作', 'info');
 return;
}

//圖片上傳發生的事件
function funComplete(event, ID, fileObj, response, data) {
 //$("#pic").html('<img id="pic" runat="server" src=../upload/' + response + '.jpg style="width:300;height:200px;"/>');
 if (response == 0) {
  jBox.tip('圖片' + fileObj.name + '操作失敗', 'info');
  return;
 }
 $("#pic").attr("src", "../upload/" + response).height(200).width(300);
 jBox.tip('圖片' + fileObj.name + '操作成功', 'info');
 return;
}

//上傳發生錯誤時。
function funError(event, ID, fileObj, errorObj) {
 jBox.tip(errorObj.info);
 return;
}

接著我們來完成一般處理時間的文件,代碼如下:

context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";

HttpPostedFile file = context.Request.Files["Filedata"];
string uploadPath = HttpContext.Current.Server.MapPath(@context.Request["folder"]) + "\";

if (file != null)
{
 //if (File.Exists(uploadPath + file.FileName))
 //{
 // context.Response.Write("3");   //文件已經存在
 // return;
 //}

 string[] fn = file.FileName.Split('.');
 string ext = fn[fn.Length - 1];
 string filename = DateTime.Now.ToString("yyyyMMddhhmmss")+"."+ext;
 if (!Directory.Exists(uploadPath))
 {
  Directory.CreateDirectory(uploadPath);
 }
 file.SaveAs(uploadPath + filename);
 //下面這句代碼缺少的話,上傳成功后上傳隊列的顯示不會自動消失
 context.Session[context.Session["userName"].ToString()] = filename;
  
 context.Response.Write(filename);
}
else
{
 context.Response.Write("0");
} 

成功上傳返回文件的名字,失敗的話返回一個0,js不追返回值,如果是0表示失敗,如果不是0則動態的給img加載src。

源碼下載:http://xiazai.gimoo.net/201606/yuanma/jQuery-uploadify-ajax-upload(gimoo.net).rar



主站蜘蛛池模板: 接吻戏| 韩国电影陈诗雅主演| 二手家具转让| 思念天边的你简谱| 皇家骑士团外传| 包公大战潘金莲| 罗斯福游戏| 怀孕肚脐眼凸起和凹进去有什么区别| 八年级下册英语外研版| 韩诗雅| 赫伯曼电影免费观看| 伺机偏宠短剧免费观看| 蜡笔小新日语| 声色犬马 电影| 日本大片ppt免费ppt电影| 奔跑吧第13季| 沉默的羔羊1| 成人一级片视频| 男人天堂视频| 尤克里里谱| 处女巫| 灵界诱惑 电影| 1998年槟榔西施| 诡娃| 乳糖不耐受奶粉推荐| 九龙城寨在线观看| 98%| 韩国我的养父电影免费观看| 格子论文| 金太狼的幸福生活电影演员表介绍| 发型图片女2024最新款式| 胡金铨最好的十部电影| 苏小懒| 六年级上册脱式计算题100道| 逐步爱上你| 手纹线| 《欢乐谷》电影| cctv5+体育台节目表| 香港九龙图库精选资料| 青娱乐视视频| 郭云飞|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103