ASP.NET文件下载

ASP.NET文件下载的示例代码如下:

Dim file As String = "C:\Inetpub\wwwroot\pagerror.gif"
Dim fileName As String = Path.GetFileName(file)
Dim extName As String = Path.GetExtension(file)
Dim type As String = String.Empty
Select Case extName.ToLower()
Case ".gif"
type = "image/gif"
Case Else
End Select
Response.AppendHeader("content-disposition", _
String.Format("attachment; filename={0}", _
HttpUtility.HtmlEncode(fileName)))
Response.ContentType = type
Response.WriteFile(file)
Response.End()

注意点如下:

1.根据文档类型(或文件后缀名extension file name),获得MIME类型:

例如Excel的MIMEType是Application/Excel等。

2.在头部信息表明以附件(attachment)形式下载:

没有Response.AppendHeader那句就会变成直接打开文档或图片。

3.下载文件名要使用HTML编码:

如果不在filename外使用函数HttpUtility.HtmlEncode就会导致下载的文件名如果是非英文字符就会出现乱码或被截位的现象。

以上就是下载文件要注意的地方,希望对大家有帮助。

posted on 2012-02-20 10:40  Richard.Tsui  阅读(334)  评论(0编辑  收藏  举报