亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net多文件上傳實例講解

2024-07-10 13:31:29
字體:
來源:轉載
供稿:網友

文件上傳簡單實現是非常容易的,但是想要更高的要求,比如通過ajax上傳文件、一次上傳多個文件、文件比較大等等,這里面的坑就不是很容易填(對于新手來說)。因此在這里我準備通過ajax實現多文件上傳。在開始貼代碼之前,要注意幾點:

  1.<input type="file" />是必須要加name的,不知道為什么不加name屬性,后臺獲取不到文件數據(有辦法的大神可以在評論區提醒我),然后是multiple屬性,當multiple="multiple"時,file控件是可以多選需要上傳的文件的(<input type="file" multiple="multiple"  name="myFile" />)。

  2.form要設enctype為multiple/form-data,multipart/form-data表示:不對字符編碼,在使用包含文件上傳控件的表單時,必須使用該值。

  3.重點來了,ajax的參數設置里面有大坑(很多人都沒注意ajax的眾多參數),contentType和processData需要設為false,contentType明明被要求為string類型,但是這里要設為false(我也不知道為什么),網上關于contentType的說明大多是"contentType:要求為String類型的參數,當發送信息至服務器時,內容編碼類型默認為"application/x-www-form-urlencoded"。該默認值適合大多數應用場合",還有個data要設為new FormData($(' ')[0])。

  下面就是簡單的前臺代碼:

<form id="uploadForm" enctype="multipart/form-data" action="/Login/uploadFile" method="post"> <input type="file" multiple="multiple" id="PersonFile" name="MyFile" /> <button type="button" id="submitFile" onclick="uploadFile()">提交</button></form>
//上傳文件 function uploadFile() {  debugger  $.ajax({  url: '/Login/uploadFile',  type: 'POST',  cache: false,  data: new FormData($('#uploadForm')[0]),  processData: false, // 關鍵點  contentType: false, // 關鍵點  success: function (result) {   if (result.Check) {   alert("成功");   }   else {   alert("失敗");   }   var file = $("#PersonFile")   file.after(file.clone().val(""));   file.remove();  }  }); }

現在輪到后臺了,我這邊后臺是通過System.Web.HttpContext.Current.Request.Files獲取文件數據集的,之后的代碼我將以圖片為例。

 [HttpPost] public ActionResult uploadFile() {  Result<string> check = new Result<string>();  try  {  HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;  int number = 0;  for (int i = 0; i < files.Count; i++)  {   System.Text.StringBuilder fileName = new System.Text.StringBuilder();   fileName.Append(@"D:/");   fileName.Append(DateTime.Now.ToString("yyMMdd"));   fileName.Append(@"/");   if (!System.IO.Directory.Exists(fileName.ToString()))   {   System.IO.Directory.CreateDirectory(fileName.ToString());   }   fileName.Append(System.IO.Path.GetFileNameWithoutExtension(files[i].FileName));   fileName.Append(DateTime.Now.ToString("yyMMddHHmmss"));   fileName.Append(System.IO.Path.GetExtension(files[i].FileName));   System.IO.Stream sm = files[i].InputStream;   if (System.IO.File.Exists(@"D:/水印log.jpg"))   {   ImageHelper.ZoomAuto(sm, fileName.ToString(), 400, 300, "", @"D:/水印log.jpg");   }   else   {   ImageHelper.ZoomAuto(sm, fileName.ToString(), 400, 300, "水印LOG", "");   }   bool ok = System.IO.File.Exists(fileName.ToString());   if (ok)   {   number++;   }  }  if (number.Equals(files.Count))  {   check.Message = "上傳成功!";   check.Check = true;  }  else  {   check.Message = "失?。?quot;;   check.Check = false;  }  return Json(check);  }  catch(Exception ex)  {  check.Message = ex.ToString();  check.Check = false;  return Json(check);  } }
 /// <summary> /// 返回值 /// </summary> public class Result<T> { public string Message { get; set; } public bool Check { get; set; } public IList<T> ResultList { get; set; } }

  其中用到了ImageHelper.ZoomAuto(),這個是吳劍大哥寫的圖片處理類,地址http://www.cnblogs.com/wu-jian/archive/2011/02/21/1959382.html。最后還有一個坑,就是asp.net對一次上傳數據的大小是有限制的,要解除限制才能10個20個文件同時上傳。如何解除限制?在web.config里面配置一下就OK了。代碼如下:

<system.web> <authentication mode="None" /> <compilation debug="true" targetFramework="4.5" /> <!--<httpRuntime targetFramework="4.5" />--> <httpRuntime executionTimeout="500" maxRequestLength="409600" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> </system.web>

把<httpRuntime >放<system.web>節點下。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久国产精品| 欧美男插女视频| 亚洲最大中文字幕| 日韩免费在线电影| 久久久久久av| 国内偷自视频区视频综合| 97碰在线观看| 国产在线精品播放| 精品国内产的精品视频在线观看| 久久久久国产一区二区三区| 国产精品久久久久久影视| 97视频在线观看视频免费视频| 欧美与欧洲交xxxx免费观看| 国产成人啪精品视频免费网| 久久久久久久999精品视频| 一区二区三区视频免费在线观看| 亚洲女同性videos| 欧美激情亚洲视频| 亚洲美女自拍视频| 中文字幕日韩精品在线观看| 欧美老妇交乱视频| 国产99视频精品免视看7| 亚洲天堂av女优| 欧美性猛交xxxx乱大交3| 久久躁狠狠躁夜夜爽| 精品中文字幕久久久久久| 欧美高清在线视频观看不卡| 亚洲人成在线播放| 精品久久国产精品| 91精品久久久久久久久久久| 97视频在线观看免费| 欧美肥老太性生活视频| 欧美色道久久88综合亚洲精品| 日韩av免费看| 日韩在线观看免费网站| 国内久久久精品| 欧美亚洲一级片| 91中文字幕在线| 欧美成人免费观看| 亚洲成人网久久久| www.欧美精品| 国产精品久久999| 国产精品尤物福利片在线观看| 亚洲精品第一国产综合精品| 久久6精品影院| 美日韩丰满少妇在线观看| 亚洲精品免费在线视频| 日韩黄色高清视频| 97福利一区二区| 国产丝袜一区二区三区| 国产精品高潮呻吟视频| 欧美一区二区影院| 亚洲国产欧美精品| 菠萝蜜影院一区二区免费| 欧美日韩亚洲激情| 成人a免费视频| 日韩黄色av网站| 欧美日韩成人免费| 日韩欧美国产高清91| 欧美精品videosex性欧美| 91精品国产高清| 国产精品三级美女白浆呻吟| 国产精品wwww| 8050国产精品久久久久久| 国内精品美女av在线播放| 欧美最猛性xxxxx免费| 午夜精品蜜臀一区二区三区免费| 国产精品视频自拍| 日韩av网站电影| 亚洲欧美999| 国产自产女人91一区在线观看| 亚洲电影免费观看高清完整版在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 91精品视频免费| x99av成人免费| 国产999精品视频| 国产精品视频久久久久| 亚洲视频在线免费观看| 欧美中文在线免费| 中文字幕亚洲欧美一区二区三区| 日韩中文字幕在线视频| 国产91亚洲精品| 国产精品视频免费观看www| 国产成人精品日本亚洲专区61| 久久精品视频在线| 欧美日韩国产123| 精品久久久久久国产91| 日韩国产欧美精品一区二区三区| 欧美色videos| 久久国产精品电影| 亚洲sss综合天堂久久| 91av免费观看91av精品在线| 国产精品国产自产拍高清av水多| 久久精品中文字幕| 久久久亚洲国产天美传媒修理工| 国产一区二区三区免费视频| 色偷偷噜噜噜亚洲男人| 91天堂在线视频| 亚洲级视频在线观看免费1级| 这里只有精品久久| 亚洲最新av网址| 国产亚洲视频在线观看| 日韩av不卡电影| 色琪琪综合男人的天堂aⅴ视频| 亚洲白拍色综合图区| 欧美激情中文字幕在线| 亚洲美女喷白浆| 久久久久99精品久久久久| 91亚洲精华国产精华| 国产日韩在线亚洲字幕中文| 欧美麻豆久久久久久中文| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品亚洲激情| 欧美黑人xxxⅹ高潮交| 久久艳片www.17c.com| 国产午夜精品美女视频明星a级| 午夜精品一区二区三区在线视频| 成人免费视频a| 97色在线视频观看| 国产a∨精品一区二区三区不卡| 成人免费在线视频网站| 国产精品久久91| 久久视频中文字幕| 久久免费在线观看| 欧美性猛交丰臀xxxxx网站| 欧美性生交xxxxxdddd| 欧美激情三级免费| 欧美美最猛性xxxxxx| 九九久久精品一区| 日韩精品免费综合视频在线播放| 欧美激情在线观看| 久久久综合免费视频| 57pao成人国产永久免费| 欧美日韩国产中文字幕| 欧美网站在线观看| 亚洲天堂色网站| 久久夜精品香蕉| 欧美色欧美亚洲高清在线视频| 欧美日韩成人网| 91系列在线播放| 亚洲成**性毛茸茸| 亚洲美女性生活视频| 成人免费淫片aa视频免费| 精品久久中文字幕| 国产精品视频中文字幕91| 欧美黑人国产人伦爽爽爽| 在线播放亚洲激情| 成人动漫网站在线观看| 九九热这里只有在线精品视| 久久精品亚洲国产| 国产精品久久久久不卡| 91成人精品网站| 成人精品aaaa网站| 精品久久久91| 亚洲女同精品视频| 国产精品999999| 国产精品狼人色视频一区| 国模精品视频一区二区三区| 欧美成人亚洲成人| 欧美人与性动交a欧美精品| 亚洲va欧美va在线观看| 欧美性69xxxx肥| 国产福利精品av综合导导航| 欧美另类高清videos|