精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ASP.NET中的文件上傳下載方法集合

開發(fā) 后端
本文總結(jié)了在ASP.NET中一些文件上傳下載的方法。ASP.NET中的文件上傳下載是我們經(jīng)常要用到的技術。

文件的上傳下載是我們在實際項目開發(fā)過程中經(jīng)常需要用到的技術,這里給出幾種常見的方法,本文主要內(nèi)容包括:

1、如何解決文件上傳大小的限制

2、以文件形式保存到服務器

3、轉(zhuǎn)換成二進制字節(jié)流保存到數(shù)據(jù)庫以及下載方法

4、上傳Internet上的資源

ASP.NET中文件上傳下載,***部分:

首先我們來說一下如何解決asp.net中的文件上傳大小限制的問題,我們知道在默認情況下asp.net的文件上傳大小限制為2M,一般情況下,我們可以采用更改Web.Config文件來自定義***文件大小,如下:

這樣上傳文件的***值就變成了4M,但這樣并不能讓我們無限的擴大 MaxRequestLength的值,因為asp.net會將全部文件載入內(nèi)存后,再加以處理。解決的方法是利用隱含的 HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法從IIS為asp.net 建立的pipe里分塊讀取數(shù)據(jù)。實現(xiàn)方法如下:

  1. IServiceProvidERProvider=(IServiceProvider)HttpContext.Current;   
  2. HttpWorkerRequestwr=(HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));   
  3. byte[]bs=wr.GetPreloadedEntityBody();   
  4. .   
  5. if(!wr.IsEntireEntityBodyIsPreloaded())   
  6. {   
  7.  intn=1024;   
  8.  byte[]bs2=newbyte[n];   
  9.  while(wr.ReadEntityBody(bs2,n)>0)   
  10.  {   
  11.   ..   
  12.  }   
  13. }  
  14.  

這樣就可以解決了大文件的上傳問題了。

ASP.NET中文件上傳下載,第二部分:

下面我們來介紹如何以文件形式將客戶端的一個文件上傳到服務器并返回上傳文件的一些基本信息。

首先我們定義一個類,用來存儲上傳的文件的信息(返回時需要)。

  1. public class FileUpLoad   
  2. {   
  3.  public FileUpLoad()   
  4.  {}   
  5.  /**////   
  6.  /// 上傳文件名稱   
  7.  ///   
  8.  public string FileName   
  9.  {   
  10.   get   
  11.   {   
  12.    return fileName;   
  13.   }   
  14.   set   
  15.   {   
  16.    fileName = value;   
  17.   }   
  18.  }   
  19.  private string fileName;   
  20.  /**////   
  21.  /// 上傳文件路徑   
  22.  ///   
  23.  public string FilePath   
  24.  {   
  25.   get   
  26.   {   
  27.    return filepath;   
  28.   }   
  29.   set   
  30.   {   
  31.    filepath = value;   
  32.   }   
  33.  }   
  34.  private string filepath;   
  35.  /**////   
  36.  /// 文件擴展名   
  37.  ///   
  38.  public string FileExtension   
  39.  {   
  40.   get   
  41.   {   
  42.    return fileExtension;   
  43.   }   
  44.   set   
  45.   {   
  46.    fileExtension = value;   
  47.   }   
  48.  }   
  49.  private string fileExtension;   
  50. }  
  51.  

另外我們還可以在配置文件中限制上傳文件的格式(App.Config):

  1. <?XML version="1.0" encoding="gb2312" ?>   
  2. <Application>   
  3. <FileUpLoad>  
  4. <Format>.jpg|.gif|.png|.bmp   
  5. </FileUpLoad>   
  6. </Application> 

這樣我們就可以開始寫我們的上傳文件的方法了,如下:

  1. public FileUpLoad UpLoadFile(HtmlInputFile InputFile,string filePath,string myfileName,bool isRandom)   
  2. {   
  3.  FileUpLoad fp = new FileUpLoad();   
  4.  string fileName,fileExtension;   
  5.  string saveName;   
  6.  //   
  7.  //建立上傳對象   
  8.  //   
  9.  HttpPostedFile postedFile = InputFile.PostedFile;   
  10.  fileName = System.IO.Path.GetFileName(postedFile.FileName);   
  11.  fileExtension = System.IO.Path.GetExtension(fileName);   
  12.  //   
  13.  //根據(jù)類型確定文件格式   
  14.  //   
  15.  AppConfig app = new AppConfig();   
  16.  string format = app.GetPath("FileUpLoad/Format");   
  17.  //   
  18.  //如果格式都不符合則返回   
  19.  //   
  20.  if(format.IndexOf(fileExtension)==-1)   
  21.  {   
  22.   throw new ApplicationException("上傳數(shù)據(jù)格式不合法");   
  23.  }   
  24.  //   
  25.  //根據(jù)日期和隨機數(shù)生成隨機的文件名   
  26.  //   
  27.  if(myfileName != string.Empty)   
  28.  {   
  29.   fileName = myfileName;   
  30.  }   
  31.  if(isRandom)   
  32.  {   
  33.   Random objRand = new Random();   
  34.   System.DateTime date = DateTime.Now;   
  35.   //生成隨機文件名   
  36.   saveName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + Convert.ToString(objRand.Next(99)*97 + 100);   
  37.   fileName = saveName + fileExtension;   
  38.  }   
  39.  string phyPath = HttpContext.Current.Request.MapPath(filePath);   
  40.  //判斷路徑是否存在,若不存在則創(chuàng)建路徑   
  41.  DirectoryInfo upDir = new DirectoryInfo(phyPath);   
  42.  if(!upDir.Exists)   
  43.  {   
  44.   upDir.Create();   
  45.  }   
  46.  //   
  47.  //保存文件   
  48.  //   
  49.  try   
  50.  {   
  51.   postedFile.SaveAs(phyPath + fileName);   
  52.   fp.FilePath = filePath + fileName;   
  53.   fp.FileExtension = fileExtension;   
  54.   fp.FileName = fileName;   
  55.  }   
  56.  catch   
  57.  {   
  58.   throw new ApplicationException("上傳失敗!");   
  59.  }   
  60.  //返回上傳文件的信息   
  61.  return fp;   
  62. }  
  63.  

然后我們在上傳文件的時候就可以調(diào)用這個方法了,將返回的文件信息保存到數(shù)據(jù)庫中,至于下載,就直接打開那個路徑就OK了。

ASP.NET中文件上傳下載,第三部分:

這里我們主要說一下如何以二進制的形式上傳文件以及下載。首先說上傳,方法如下:

  1. public byte[] UpLoadFile(HtmlInputFile f_IFile)   
  2. {   
  3.  //獲取由客戶端指定的上傳文件的訪問   
  4.  HttpPostedFile upFile=f_IFile.PostedFile;   
  5.  //得到上傳文件的長度   
  6.  int upFileLength=upFile.ContentLength;   
  7.  //得到上傳文件的客戶端MIME類型   
  8.  string contentType = upFile.ContentType;   
  9.  byte[] FileArray=new Byte[upFileLength];  
  10.  
  11.  Stream fileStream=upFile.InputStream;  
  12.  
  13.  fileStream.Read(FileArray,0,upFileLength);   
  14.  return FileArray;   
  15. }  
  16.  

這個方法返回的就是上傳的文件的二進制字節(jié)流,這樣我們就可以將它保存到數(shù)據(jù)庫了。下面說一下這種形式的下載,也許你會想到這種方式的下載就是新建一個 aspx頁面,然后在它的Page_Load()事件里取出二進制字節(jié)流,然后再讀出來就可以了,其實這種方法是不可取的,在實際的運用中也許會出現(xiàn)無法打開某站點的錯誤,我一般采用下面的方法:

首先,在Web.config中加入:

  1. <add verb="*" path="openfile.aspx" type="RuixinOA.Web.BaseClass.OpenFile, RuixinOA.Web"/>  
  2.  

這表示我打開openfile.aspx這個頁面時,系統(tǒng)就會自動轉(zhuǎn)到執(zhí)行RuixinOA.Web.BaseClass.OpenFile 這個類里的方法,具體實現(xiàn)如下:

  1. using System;   
  2. using System.Data;   
  3. using System.Web;   
  4. using System.IO;   
  5. using Ruixin.WorkFlowDB;   
  6. using RXSuite.Base;   
  7. using RXSuite.Component;   
  8. using RuixinOA.BusinessFacade;   
  9. namespace RuixinOA.Web.BaseClass   
  10. {   
  11.  /**////   
  12.  /// NetUFile 的摘要說明。   
  13.  ///   
  14.  public class OpenFile : IHttpHandler   
  15.  {   
  16.   public void ProcessRequest(HttpContext context)   
  17.   {   
  18.    //從數(shù)據(jù)庫中取出要下載的文件信息   
  19.    RuixinOA.BusinessFacade.RX_OA_FileManager os = new RX_OA_FileManager();   
  20.    EntityData data = os.GetFileDetail(id);   
  21.    if(data != null && data.Tables["RX_OA_File"].Rows.Count >0)   
  22.    {   
  23.     DataRow dr = (DataRow)data.Tables["RX_OA_File"].Rows[0];   
  24.     context.Response.Buffer = true;   
  25.     context.Response.Clear();   
  26.     context.Response.ContentType = dr["CContentType"].ToString();   
  27.     context.Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(dr["CTitle"].ToString()));   
  28.     context.Response.BinaryWrite((Byte[])dr["CContent"]);   
  29.     context.Response.Flush();   
  30.     context.Response.End();   
  31.    }   
  32.   }   
  33.   public bool IsReusable   
  34.   {     
  35.    get { return true;}   
  36.   }   
  37.  }   
  38. }  
  39.  

執(zhí)行上面的方法后,系統(tǒng)會提示用戶選擇直接打開還是下載。這一部分我們就說到這里。

ASP.NET中文件上傳下載,第四部分:

這一部分主要說如何上傳一個Internet上的資源到服務器。

首先需要引用 System.Net 這個命名空間,然后操作如下:

  1. HttpWebRequest hwq = (HttpWebRequest)WebRequest.Create("http://localhost/pwtest/webform1.aspx");   
  2. HttpWebResponse hwr = (HttpWebResponse)hwq.GetResponse();   
  3. byte[] bytes = new byte[hwr.ContentLength];   
  4. Stream stream = hwr.GetResponseStream();   
  5. stream.Read(bytes,0,Convert.ToInt32(hwr.ContentLength));   
  6. //HttpContext.Current.Response.BinaryWrite(bytes);  
  7.  

HttpWebRequest 可以從Internet上讀取文件,因此可以很好的解決這個問題。

【編輯推薦】

  1. ASP.NET表單身份驗證的實現(xiàn)方法
  2. JQuery Form Ajax提交asp.net表單時失敗
  3. ASP.NET安裝部署問題總結(jié)
  4. 在APACHE上運行ASP.NET經(jīng)驗總結(jié)
  5. ASP.NET在線學習資源總匯

     

責任編輯:book05 來源: cnblogs
相關推薦

2023-09-06 08:33:30

2009-07-03 14:15:54

JSP SmartUp

2009-07-20 16:09:39

2009-10-30 14:03:59

ASP.NET上傳文件

2024-05-20 13:06:18

2009-07-07 13:45:04

jspsmart

2018-04-20 16:15:42

Koa2上傳下載

2015-02-11 16:34:49

微信SDK

2009-07-21 15:38:31

2009-07-29 10:02:49

ASP.NET上傳

2010-03-08 11:34:45

Linux上傳下載指令

2009-07-21 16:23:57

2009-07-27 17:32:39

Web ServiceASP.NET

2009-07-21 13:01:07

ASP.NET上傳文件

2009-07-24 15:07:56

ASP.NET上傳文件

2010-02-05 08:32:32

ASP.NET MVC

2009-07-20 18:06:26

ASP.NET限制上傳

2009-07-31 11:45:42

ASP.NET文件下載

2011-06-08 11:36:16

ASP.NETrender

2009-07-22 17:28:07

CSS文件ASP.NET 2.0
點贊
收藏

51CTO技術棧公眾號

91成人免费电影| 国产精品一区二区在线观看不卡| 日韩av网站在线| 成人在线免费播放视频| jizz日韩| 国产一区二区在线视频| 国模极品一区二区三区| 实拍女处破www免费看| 欧美福利在线播放| 亚洲精品成人在线| 欧美人xxxxx| 97久久人国产精品婷婷| 欧美日韩蜜桃| 亚洲人成电影网站色www| 天天操天天干天天做| 爱搞国产精品| 成人欧美一区二区三区视频网页| 国产精品香蕉视屏| 在线免费观看日韩视频| 亚洲精品日本| 精品国产一区av| 伊人网综合视频| 超碰国产精品一区二页| 精品色蜜蜜精品视频在线观看| 欧美日韩国产精品一区二区| 91亚洲精品国偷拍自产在线观看| 中文亚洲免费| 欧美日韩成人网| 亚洲综合图片一区| 日韩激情啪啪| 日韩精品一区二区三区四区 | 日韩欧美视频免费观看| 黄色网一区二区| 欧美一卡在线观看| 老司机午夜性大片| 欧美日韩视频免费观看| 精品国产1区2区| 国产精品igao激情视频| 日韩免费网站| 日本一区二区三区国色天香 | 日韩精品诱惑一区?区三区| 日韩电视剧免费观看网站| 日本少妇激三级做爰在线| 欧美va在线| 日韩欧美极品在线观看| 青青草成人免费在线视频| 草莓福利社区在线| 日韩一区中文字幕| 在线无限看免费粉色视频| 成人在线观看黄色| 久久天堂av综合合色蜜桃网| 国产一区二区不卡视频在线观看| www.xxx国产| 韩国理伦片一区二区三区在线播放| 国产精品久久久精品| 无码人妻精品一区二区三区蜜桃91| 国产精品乱看| 91av国产在线| 欧美一区二区三区四| 99在线精品视频在线观看| 性色av香蕉一区二区| 日本熟妇毛耸耸xxxxxx| 蜜桃视频在线观看播放| 亚洲色图清纯唯美| 吴梦梦av在线| 怡红院在线播放| 亚洲精品免费一二三区| 青青在线免费视频| 色a资源在线| 亚洲高清一区二区三区| 欧美黑人经典片免费观看| 白浆在线视频| 日本乱人伦aⅴ精品| av在线无限看| 亚洲伊人伊成久久人综合网| 日韩一级高清毛片| 亚洲欧美日韩色| 亚洲专区视频| 少妇高潮久久久久久潘金莲| 欧美肥妇bbwbbw| 午夜久久99| 羞羞色国产精品| 99精品人妻国产毛片| 免费看欧美美女黄的网站| 川上优av一区二区线观看| 国产肥老妇视频| 99久久精品免费观看| 色播亚洲婷婷| 最新av在线播放| 精品久久久久久久久久久久| 熟女少妇精品一区二区| www.久久爱.com| 亚洲精品成人久久电影| 国产欧美小视频| 午夜激情一区| 日本精品久久久| 一级特黄色大片| 成人免费视频caoporn| 日韩不卡av| 3d玉蒲团在线观看| 欧美午夜xxx| 亚洲综合伊人久久| 窝窝社区一区二区| 久久夜色精品亚洲噜噜国产mv| 日韩成人av毛片| 免费人成在线不卡| 国产一区二区中文字幕免费看| 91网在线播放| 激情成人在线视频| 网站在线你懂的| 偷拍亚洲精品| 欧美国产精品va在线观看| 成年人视频免费| 成人黄色在线看| 综合操久久久| 超碰一区二区| 亚洲精品在线一区二区| 91狠狠综合久久久| 视频一区二区国产| 国产欧美亚洲日本| 91高清在线观看视频| 欧美视频一区二区三区| theav精尽人亡av| 欧美一区二区| 国产精品天天狠天天看| 日本在线丨区| 亚洲成人av一区| 青娱乐精品在线| 精品在线观看入口| 69av在线播放| 亚洲爱爱综合网| 中文一区二区完整视频在线观看| www.爱色av.com| 中文无码日韩欧| 久久九九免费视频| 中文字幕在线观看高清| 国产亚洲欧美在线| 午夜精品久久久内射近拍高清| 成人自拍在线| 欧美黄色片视频| 99在线无码精品入口| 国产精品久久久久久久久久久免费看 | 欧美黄污视频| 成人一区二区电影| 老司机在线永久免费观看| 欧美性xxxxxxxx| www..com.cn蕾丝视频在线观看免费版| 中日韩男男gay无套| 国产亚洲精品久久飘花| caoporn-草棚在线视频最| 日韩视频不卡中文| 欧美日韩亚洲国产另类| 国产揄拍国内精品对白| 老汉色影院首页| 电影中文字幕一区二区| 欧美www在线| 国产成人精品a视频| 一区二区三区在线观看动漫 | 姑娘第5集在线观看免费好剧| 久久综合九色综合97_久久久| 国产l精品国产亚洲区久久| 色88888久久久久久影院| 欧美亚洲成人xxx| 青青草免费在线| 色婷婷久久久综合中文字幕| 性少妇bbw张开| 久久久噜噜噜| 午夜免费电影一区在线观看| 农村妇女一区二区| 欧美精品在线第一页| 亚洲免费不卡视频| 亚洲成a人片在线不卡一二三区 | 国产国语亲子伦亲子| 依依成人精品视频| 国产人妻黑人一区二区三区| 国产欧美一级| 深夜福利成人| 国产精品成人**免费视频| 久久久久久成人精品| 三级在线视频| 欧美日韩一区二区在线观看| 男人的天堂久久久| www.欧美日韩| 波多野结衣天堂| 伊人成综合网| 九色综合日本| 激情久久99| 欧美国产精品va在线观看| 欧美精品少妇| 欧美一级一区二区| 国内精品福利视频| 中文字幕中文字幕在线一区 | 成人黄色免费视频| 日韩欧美成人精品| www欧美com| 26uuu亚洲综合色欧美 | www.欧美亚洲| 中文字幕亚洲欧洲| 99国产精品| 亚洲精品视频一二三| 91精品丝袜国产高跟在线| 国产99在线|中文| 青春草在线视频| 亚洲天堂男人天堂| 韩国中文字幕hd久久精品| 欧美亚洲日本国产| 日韩女优在线观看| 最近日韩中文字幕| 蜜桃无码一区二区三区| 国产91在线看| 第四色婷婷基地| 一区二区三区高清视频在线观看| 自拍另类欧美| 欧美一区二区三| 黄色国产精品一区二区三区| 亚洲三级电影| 国产精品久久久久久久久借妻| 波多野结衣中文在线| 久久精品99国产精品酒店日本| 亚洲av毛片成人精品| 日韩欧美亚洲国产另类| 中文字幕久久熟女蜜桃| 疯狂做受xxxx高潮欧美日本| 毛片a片免费观看| 中文字幕亚洲欧美在线不卡| 中文字幕av网址| 不卡av免费在线观看| 少妇性l交大片7724com| 久久99国产乱子伦精品免费| 麻豆av免费在线| 99国产精品久久久久久久成人热| 国产美女作爱全过程免费视频| 久久精品国产99久久| 日韩免费中文专区| 亚洲永久精品唐人导航网址| 精品欧美一区二区精品久久| 高潮久久久久久久久久久久久久| 97在线中文字幕| 国产精品3区| 91精品综合久久久久久五月天| 成人久久网站| 国产精品久久久久aaaa九色| 欧美三级网址| 日本精品va在线观看| 欧美电影免费观看| 日本欧美国产在线| 成人爱爱网址| 欧日韩在线观看| 亚洲女同av| 青草青草久热精品视频在线网站| 手机在线观看av| 欧美在线不卡区| 国产精品伦理| 日韩av手机在线观看| 最新日韩三级| 国产精品视频xxx| 欧美少妇激情| 亚洲精品欧美日韩专区| 激情五月综合婷婷| 成人免费视频观看视频| 91成人午夜| 久久亚洲国产精品日日av夜夜| 性欧美xxxx免费岛国不卡电影| 久久久久天天天天| 欧美熟乱15p| 一区二区日本伦理| 在线国产一区| 成年女人18级毛片毛片免费| 一区二区激情| 国产精品涩涩涩视频网站| 日本不卡的三区四区五区| 午夜精品中文字幕| 国产精品一级二级三级| 国产视频精品视频| 26uuu成人网一区二区三区| 国产精品扒开腿做爽爽| 国产精品人人做人人爽人人添| 午夜精品一区二区三级视频| 亚洲高清免费视频| 无码人妻丰满熟妇精品区| 欧美人妇做爰xxxⅹ性高电影| 99热这里只有精| 日韩成人中文电影| 乱人伦中文视频在线| 国模精品一区二区三区色天香| 亚洲色图官网| 91九色综合久久| 久久97久久97精品免视看秋霞| 欧美日韩精品不卡| 天天做天天爱天天综合网| 国产小视频免费| 久久不射2019中文字幕| 欧美成人福利在线观看| 成人小视频在线| 国产激情在线免费观看| 亚洲人成网站精品片在线观看| 日韩精品成人一区| 欧美在线色视频| 欧美一级免费片| 色狠狠久久aa北条麻妃| 国产va在线视频| 91精品啪在线观看麻豆免费| 亚洲调教一区| 成人短视频在线观看免费| 日韩激情视频网站| 日韩精品人妻中文字幕有码| 国产精品九色蝌蚪自拍| wwwxxx亚洲| 日韩午夜在线观看| yiren22综合网成人| 久久欧美在线电影| 国产精品**亚洲精品| 日韩亚洲不卡在线| 在线亚洲伦理| 亚洲午夜精品在线观看| 国产精品麻豆视频| 黄色在线视频网址| 精品成人在线观看| 成人在线影视| 国产精品视频yy9099| 一道在线中文一区二区三区| 免费网站在线观看视频| 国产一区中文字幕| 亚洲一级理论片| 色综合久久久久综合| 五月婷婷伊人网| 欧美激情视频网站| 精品午夜视频| 亚洲自拍偷拍一区二区三区| 日韩电影在线免费看| 波多野结衣a v在线| 午夜成人免费电影| 黄色一级a毛片| 欧美夫妻性生活xx| 国产专区精品| 日本不卡一区二区三区四区| 欧美aaaaa成人免费观看视频| 久久av无码精品人妻系列试探| 天天av天天翘天天综合网 | 销魂美女一区二区| 国产丝袜一区二区三区免费视频| 97久久人人超碰caoprom| 99在线高清视频在线播放| 欧美黄在线观看| 又大又长粗又爽又黄少妇视频| 亚洲免费看黄网站| 国内精品久久久久久久久久 | 成人小电影网站| 精品1区2区| 伊人影院久久| 国产xxxxxxxxx| 欧美日韩美女在线观看| 亚洲色图欧美视频| 欧亚精品中文字幕| 精品国产视频| 99视频在线视频| 国产精品久久久久久久久晋中 | 日韩久久午夜影院| 中文字幕一区久| 日本精品一区二区三区视频| 老司机午夜精品视频| 人成免费在线视频| 欧美电影在线免费观看| 性网站在线观看| 国产九色91| 久久久国产精品一区二区中文| 精品欧美一区二区久久久| 欧美日韩在线观看一区二区 | 午夜精品久久一牛影视| 天堂在线观看免费视频| 青青草一区二区| 日本精品三区| 伊人av在线播放| 欧美日韩免费一区| 国产在线91| 91精品在线看| 亚洲影院在线| 精品人体无码一区二区三区| 日韩欧美在线影院| 五月天av在线| 在线不卡日本| 成人短视频下载| 正在播放亚洲精品| 九九热这里只有精品6| 六月丁香久久丫| 国产又黄又猛又粗又爽的视频| 亚洲欧美日韩一区| 无码国产精品一区二区色情男同| 国产精品美女网站| 国产精品大片| 黄色av免费播放| 精品动漫一区二区三区在线观看| 成人免费网站www网站高清| 色乱码一区二区三区熟女| caoporn国产一区二区| 伊人网站在线观看| 97热在线精品视频在线观看| 日韩夫妻性生活xx| 少妇一级淫片免费放播放| 欧美日韩精品一区二区三区 |