• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET中文件上传下载方法集合

ASP.NET中文件上传下载方法集合

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了文件下载 asp.net,文件上传 asp.net,多文件上传 asp.net,js调用asp.net方法,asp.net等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
  文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括:

  1、如何解决文件上传大小的限制
  2、以文件形式保存到服务器
  3、转换成二进制字节流保存到数据库以及下载方法
  4、上传Internet上的资源

  第一部分:

    首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大文件大小,如下:

<httpRuntime executionTimeout="300" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"/>

  这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据。实现方法如下:

IServiceProviderprovider=(IServiceProvider)HttpContext.Current;
HttpWorkerRequestwr=(HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
byte[]bs=wr.GetPreloadedEntityBody();
.
if(!wr.IsEntireEntityBodyIsPreloaded())
{
intn=1024;
byte[]bs2=newbyte[n];
while(wr.ReadEntityBody(bs2,n)>0)
{
..
}
}

  这样就可以解决了大文件的上传问题了。

  第二部分:

    下面我们来介绍如何以文件形式将客户端的一个文件上传到服务器并返回上传文件的一些基本信息.首先我们定义一个类,用来存储上传的文件的信息(返回时需要)。

public class FileUpLoad
{
   public FileUpLoad()
   {

   }
/**//// <summary>
        /// 上传文件名称
        /// </summary>
        public string FileName
        {
            get
            {
                return fileName;
            }
            set
            {
                fileName = value;
            }
        }
        private string fileName;

        /**//// <summary>
        /// 上传文件路径
        /// </summary>
        public string FilePath
        {
            get
            {
                return filepath;
            }
            set
            {
                filepath = value;
            }
        }
        private string filepath;

       
        /**//// <summary>
        /// 文件扩展名
        /// </summary>
        public string FileExtension
        {
            get
            {
                return fileExtension;
            }
            set
            {

                fileExtension = value;
            }

        }
        private string fileExtension;
}

  另外我们还可以在配置文件中限制上传文件的格式(App.Config):

<?xml version="1.0" encoding="gb2312" ?>
<Application>   
    <FileUpLoad>
       <Format>.jpg|.gif|.png|.bmp</Format>
    </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)==-1)
            {
                throw new ApplicationException("上传数据格式不合法");
            }

            //
            //根据日期和随机数生成随机的文件名
            //
   

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • asp.net实现多个文件同时下载功能
  • asp.net实现服务器文件下载到本地的方法
  • Asp.Net修改上传文件大小限制方法
  • asp.NET中实现文件的压缩和解压(3种方式)
  • ASP.NET文件上传Upload的实现方法
  • ASP.NET访问共享文件夹的详细步骤
  • ASP.NET文件上传Upload的实现方法
  • ASP.NET访问共享文件夹的详细步骤
  • asp.net core实现文件上传功能
  • asp.net图片文件的上传与删除方法

相关文章

  • 2017-05-11C#中Dictionary几种遍历的实现代码
  • 2017-05-11asp.net后台动态添加JS文件和css文件的引用实现方法
  • 2017-05-11Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)
  • 2017-05-11NopCommerce架构分析之(六)自定义RazorViewEngine和WebViewPage
  • 2017-05-11ASP.NET 页面刷新的实现方法(包括html,js)
  • 2017-05-11asp.net下百度的编码和解码
  • 2017-05-11asp.net 类库中使用ConfigurationManager.ConnectionStrings
  • 2017-05-11一步步打造简单的MVC电商网站BooksStore(4)
  • 2017-05-11asp.net中的check与uncheck关键字用法解析
  • 2017-05-11[Asp.Net MVC4]验证用户登录实现实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效
    • ASP.NET 4中的可扩展输出缓存(可以缓存页面/控件等)
    • HttpRequest Get和Post调用其他页面的方法
    • visual studio 2012安装配置方法图文教程 附opencv配置教程
    • 一步一步学asp.net ajax
    • 网页WEB打印控件制作
    • 子窗口给父窗口赋值实现思路及案例演示
    • .Net Core部署到CentOS的图文教程
    • .NetCore实现上传多文件的示例详解
    • ASP.NET中的URL过滤实现代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有