欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET多文件上傳控件Uploadify的使用方法

 更新時間:2016年03月07日 15:48:45   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了ASP.NET文件上傳控件Uploadify的使用方法,感興趣的小伙伴們可以參考一下

對于Uploadify文件上傳之前已經(jīng)講過一次(文件上傳~Uploadify上傳控件),只不過沒有涉及到多文件的上傳,這回主要說一下多個文件的上傳,首先,我們要清楚一個概念,多文件上傳前端Uploadify是通過輪訓(xùn)的方式去調(diào)用我們的后臺upload程序的,所以,對于多文件上傳來說,也沒什么稀奇的.

下面是文件上傳后的縮略圖如下

列表的組裝使用JS模板,這樣對于復(fù)雜的HTML結(jié)構(gòu)來說,可以減少拼寫錯誤的出現(xiàn),關(guān)閉是將LI元素從UI元素移除,最后提交時,從UI里檢查LI元素,然后對它進(jìn)行組裝,并進(jìn)行發(fā)送下面是相關(guān)代碼

一 HTML模版

<script type="text/html" id="liTemp">
 <li>
  <!--上傳后狀態(tài)-->
  <div class="VedioChange">
  <dl>
   <dt>
   <a href="javascript:;">
    <img width="140" height='92' src="{src}" alt="{alt}" /><span class="playIcon"></span></a>
   <input type="hidden" name="HdFileURL" value="{FilePath}" /><br />
   <input type="hidden" name="HdImagePath" value="{ImagePath}" /><br />
   <input type="hidden" name="HdSourceName" value="{SourceName}" /><br />
   <input type="hidden" name="HdFileSize" value="{FileSize}" /><br />
   </dt>
   <dd><a href="javascript:;" class="lookBig">預(yù)覽</a> &nbsp;&nbsp;<a href="javascript:;" class="reselect" onclick="del(this)">關(guān)閉</a></dd>
  </dl>
  </div>
  <!--上傳后狀態(tài)-->
 </li>
 </script>

二 uploadfiy代碼

<script type="text/javascript">
 $(document).ready(function () {
  $("#uploadify").uploadify({
  'uploader': 'js/jquery.uploadify-v2.1.4/uploadify.swf',
  'script': 'UploadHandler.ashx',
  'cancelImg': 'js/jquery.uploadify-v2.1.4/cancel.png',
  'folder': '/UploadFile/',
  'queueID': 'fileQueue',
  'auto': true,
  'multi': true,
  'onComplete': function (event, queueID, fileObj, response, data) {//當(dāng)單個文件上傳完成后觸發(fā)
   //event:事件對象(the event object)
   //ID:該文件在文件隊列中的唯一表示
   //fileObj:選中文件的對象,他包含的屬性列表
   //[name] - 已上傳文件的名稱
   //[filePath] - 已上傳文件在服務(wù)器上的路徑
   //[size] – 文件的大學(xué),單位為字節(jié)
   //[creationDate] – 文件的創(chuàng)建日期
   //[modificationDate] – 文件的最后修改日期
   //[type] – 文件的擴(kuò)展名,以‘.'開始 
   //response:服務(wù)器端返回的Response文本,我這里返回的是處理過的文件名稱
   //data:文件隊列詳細(xì)信息和文件上傳的一般數(shù)據(jù)
   $("#preview").append(dataTemplate($("#liTemp").text(), { src: response, alt: fileObj.name }));
  },
  'onError': function (event, queueID, fileObj) {//當(dāng)單個文件上傳出錯時觸發(fā)
   alert("文件:" + fileObj.name + " 上傳失??!");
  },
  });
 });
 function del(o) {
  $(o).closest("li").remove();
 }
 </script>

三 html代碼

<div class="rt">
 <ul class="clearfix w_VedioChange" id="preview">
 </ul>
</div>

<div id="fileQueue"></div>

四 ashx代碼

 /// <summary>
 /// Summary description for UploadHandler
 /// </summary>
 public class UploadHandler : IHttpHandler
 {

 public void ProcessRequest(HttpContext context)
 {
  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 (!Directory.Exists(uploadPath))
  {
   Directory.CreateDirectory(uploadPath);
  }

  file.SaveAs(Path.Combine(uploadPath, file.FileName));

  var pathArr = uploadPath.Split('\\');

  context.Response.Write(HttpContext.Current.Request.Url.Scheme
   + "://"
   + HttpContext.Current.Request.Url.Authority
   + "/"
   + pathArr[pathArr.Length - 2]
   + "/"
   + pathArr[pathArr.Length - 1]
   + "/"
   + file.FileName);
  }
  else
  {
  context.Response.Write("0");
  }
 }

 public bool IsReusable
 {
  get
  {
  return false;
  }
 }
 }

為大家推薦一個專題,供大家學(xué)習(xí):《ASP.NET文件上傳匯總》

本實例只是簡單的說明了文件上傳的功能,如果在真實項目中使用的話,還需要進(jìn)一步的進(jìn)行代碼的設(shè)計.

相關(guān)文章

最新評論