zoukankan      html  css  js  c++  java
  • 在ASP.NET 中上传或者下载文件

    详细的资料,请参考如下两个链接

    http://www.microsoft.com/china/msdn/library/webservices/asp.net/dnvs05Internals.mspx?mfr=true

    将更智能的 ASP.NET 文件下载体验内置到您的 Web 应用程序中

    发布日期: 2006-10-30 | 更新日期: 2006-10-30

    Joe Stagner

    本文将介绍以下内容:

    •从 ASP.NET 站点进行动态下载

    •生成即时链接

    •可恢复下载和自定义处理程序

    •自定义下载机制所涉及的安全性问题

     

    代码下载位置:

    Downloading2006_09.exe (174KB)

     

    我的总结重点

    1. 最简单的下载方式是动态生成链接,指向具体的文件。这样的话,不是很安全,因为用户可以完全清楚地知道具体的文件位置。

    2. 最简单的动态下载方法是通过Response.WriteFile。但是对于大文件可能会有问题

    3. 对于大文件,分块发送可能是更好的方式。

    Response.ContentType = "application/octet-stream"

    Response.AddHeader("Content-Disposition", _ "attachment; filename=" & toDownload.Name)

    然后用循环的方式,一次性读取一些字节,然后不断地Flush

    4. 在ASP.NET 2.0中,还提供了Response.TransmitFile方法。不必在内存中对文件进行缓冲处理就可以将其发送到浏览器

    5. 通过检测浏览器回发过来的Header里面的信息,可以进行断点续传。一般会通过一个专门的HttpHandler来实现

     

     

    http://msdn.microsoft.com/zh-cn/library/aa479405.aspx

    在 ASP.NET 2.0 中上载文件. 主要讲解了使用FileUpLoad控件

    我的总结重点

    注意的是,由于 FileUpload 控件位于该页上,因此 ASP.NET 2.0 通过添加相应的 enctype 属性来代替您修改该页的 <form> 元素。您还会注意到,FileUpload 控件被转换为一个 HTML <input type="file">元素。

    可以使用正则表达式验证器对文件类型进行验证

    ASP:FileUpload ID="FileUpload1" runat="server" /><br /> <br /> <ASP:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Upload File" /> <br /> <br /> <ASP:Label ID="Label1" runat="server"></ASP:Label> <ASP:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ErrorMessage="Only mp3, m3u or mpeg files are allowed!" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*)) +(.mp3|.MP3|.mpeg|.MPEG|.m3u|.M3U)$" ControlToValidate="FileUpload1"></ASP:RegularExpressionValidator> <br /> <ASP:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="This is a required field!" ControlToValidate="FileUpload1"></ASP:RequiredFieldValidator>

     

    通过修改httpruntime属性的maxrequestlenght可以设定最大允许上传文件的大小。以KB为单位

  • 相关阅读:
    Web学习之css
    Spring学习之第一个hello world程序
    MySQL基础学习总结
    Jmeter参数化
    mysql慢查询解析-linux命令
    mysql慢查询
    mysql_存储引擎层-innodb buffer pool
    mysql_Qcahce
    memocached基础操作
    Memcached安装配置
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1444412.html
Copyright © 2011-2022 走看看