知识大全 ASP.NET中文件上传下载方法集合
Posted 文件
篇首语:水往下流,人争上游。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中文件上传下载方法集合相关的知识,希望对你有一定的参考价值。
ASP.NET中文件上传下载方法集合 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
文件的上传下载是我们在实际项目开发过程中经常需要用到的技术 这里给出几种常见的方法 本文主要内容包括 如何解决文件上传大小的限制 以文件形式保存到服务器 转换成二进制字节流保存到数据库以及下载方法 上传Internet上的资源 第一部分 首先我们来说一下如何解决中的文件上传大小限制的问题 我们知道在默认情况下ASP NET的文件上传大小限制为 M 一般情况下 我们可以采用更改Web Config文件来自定义最大文件大小 如下
<?XML version= encoding= gb ?> <Application> <FileUpLoad><Format> jpg| gif| png| bmp </FileUpLoad> </Application> 这样我们就可以开始写我们的上传文件的方法了 如下 public FileUpLoad UpLoadFile(HtmlInputFile InputFile string filePath string myfileName bool isRandom) FileUpLoad fp = new FileUpLoad(); string fileName fileExtension; string saveName; // //建立上传对象 // HttpPostedFile postedFile = InputFile PostedFile; fileName = System IO Path GetFileName(postedFile FileName); fileExtension = System IO Path GetExtension(fileName); // //根据类型确定文件格式 // AppConfig app = new AppConfig(); string format = app GetPath( FileUpLoad/Format ); // //如果格式都不符合则返回 // if(format IndexOf(fileExtension)== ) throw new ApplicationException( 上传数据格式不合法 ); // //根据日期和随机数生成随机的文件名 // if(myfileName != string Empty) fileName = myfileName; if(isRandom) Random objRand = new Random(); System DateTime date = DateTime Now; //生成随机文件名 saveName = date Year ToString() + date Month ToString() + date Day ToString() + date Hour ToString() + date Minute ToString() + date Second ToString() + Convert ToString(objRand Next( )* + ); fileName = saveName + fileExtension; string phyPath = HttpContext Current Request MapPath(filePath); //判断路径是否存在 若不存在则创建路径 DirectoryInfo upDir = new DirectoryInfo(phyPath); if(!upDir Exists) upDir Create(); // //保存文件 // try postedFile SaveAs(phyPath + fileName); fp FilePath = filePath + fileName; fp FileExtension = fileExtension; fp FileName = fileName; catch throw new ApplicationException( 上传失败! ); //返回上传文件的信息 return fp; 然后我们在上传文件的时候就可以调用这个方法了 将返回的文件信息保存到数据库中 至于下载 就直接打开那个路径就OK了 第三部分 这里我们主要说一下如何以二进制的形式上传文件以及下载 首先说上传 方法如下 public byte[] UpLoadFile(HtmlInputFile f_IFile) //获取由客户端指定的上传文件的访问 HttpPostedFile upFile=f_IFile PostedFile; //得到上传文件的长度 int upFileLength=upFile ContentLength; //得到上传文件的客户端MIME类型 string contentType = upFile ContentType; byte[] FileArray=new Byte[upFileLength]; Stream fileStream=upFile InputStream; fileStream Read(FileArray upFileLength); return FileArray; 这个方法返回的就是上传的文件的二进制字节流 这样我们就可以将它保存到数据库了 下面说一下这种形式的下载 也许你会想到这种方式的下载就是新建一个 aspx页面 然后在它的Page_Load()事件里取出二进制字节流 然后再读出来就可以了 其实这种方法是不可取的 在实际的运用中也许会出现无法打开某站点的错误 我一般采用下面的方法 首先 在nfig中加入 <add verb= * path= openfile aspx type= RuixinOA Web BaseClass OpenFile RuixinOA Web /> 这表示我打开openfile aspx这个页面时 系统就会自动转到执行RuixinOA Web BaseClass OpenFile 这个类里的方法 具体实现如下 using System; using System Data; using System Web; using System IO; using Ruixin WorkFlowDB; using RXSuite Base; using RXSuite Component; using RuixinOA BusinessFacade; namespace RuixinOA Web BaseClass /**////
相关参考
在ASP.NET中如何进行文件上传? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!上传文件的步骤:
ASP.NET中上传文件到数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一介绍 为什么
Asp.NET大文件上传组件---提取文件内容 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为
SystemIOFileInfofile=newSystemIOFileInfo(pstrFilePath); if(fileExists) ResponseClear(); Respo
ASP.NET下文件批量下载应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 场景描述 在B
ASP.NET从服务器下载文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! stringfil
ASP.NET文件下载函数使用浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET文
Asp.NET大文件上传开发总结(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为了提供文
Asp.NET大文件上传开发总结(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以前开发过
ASP.NET带进度条多文件上传 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! )解压jquer