Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
'在此处放置初始化页的用户代码
        Dim imgUrl As String = Me.Request.QueryString("url"'//取出文件的物理路径。
        Me.DownloadFile(imgUrl)
    
End Sub

  
  
Private Function DownloadFile(ByVal filename As String)
        
Dim saveFileName As String
        
Dim startIndex As Int32 = filename.LastIndexOf("\"+ 1
        saveFileName 
= filename.Substring(startIndex)
        
Dim fi As System.IO.FileInfo = New System.IO.FileInfo(filename)
        
Dim fileExtName As String = fi.Extension
        
Dim DEFAULT_CONTENT_TYPE As String = "application/unknown"
        
Dim regKey, fileExtKey As Microsoft.Win32.RegistryKey
        
Dim fileContentType As String
        
Try
            regKey 
= Microsoft.Win32.Registry.ClassesRoot
            fileExtKey 
= regKey.OpenSubKey(fileExtName)
            fileContentType 
= fileExtKey.GetValue("Content Type", DEFAULT_CONTENT_TYPE)
        
Catch ex As Exception
            fileContentType 
= DEFAULT_CONTENT_TYPE
        
End Try
        
Me.Response.Clear()
        Response.Charset 
= "utf-8"
        
Me.Response.Buffer = True
        
Me.EnableViewState = False
        
Me.Response.ContentEncoding = System.Text.Encoding.UTF8
        
Me.Response.AppendHeader("Content-Disposition""attachment;filename=" & saveFileName)
        
Me.Response.ContentType = fileContentType
        
Me.Response.WriteFile(filename)
        
Me.Response.Flush()
        
Me.Response.End()
    
End Function


我的这个程序能够下载Jpg图片等文件,但在保存对话框中的文件名,如果是汉字就不能正常显示(显示乱码),字母和数字都能正常显示,希望各位能帮忙解决一下。先谢了
posted on 2007-06-25 19:44  刺猬博客  阅读(252)  评论(0编辑  收藏  举报