本地文件名 张三.jpg
上传后的文件名为 20051128010101.jpg想在下载时自动存为  张三.jpg请问怎么实现?

解决方案 »

  1.   

    Copy一个临时文件: 张三.jpg,再下载: 张三.jpg
      

  2.   

    Public Sub WriteDLWindow(ByVal strFileName As String, ByVal page As System.Web.UI.Page)
            Try
               If File.Exists(page.MapPath(strFileName)) Then
                   Dim TargetFile As FileInfo = New FileInfo(page.MapPath(strFileName))
                   '清除缓冲区流中的所有内容输出.
                   page.Response.Clear()
                   '向输出流添加HTTP头 [指定下载/保存 对话框的文件名]
                   page.Response.AppendHeader("Content-Disposition", "attachment; filename=" + page.Server.UrlEncode(TargetFile.Name))

    '繁体格式
                    'page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8))                '向输出流添加HTTP头 [指定文件的长度,这样下载文件就会显示正确的进度
                    page.Response.AppendHeader("Content-Length", TargetFile.Length.ToString())
                    '表明输出的HTTP为流[stream],因此客户端只能下载.
                    page.Response.ContentType = "application/octet-stream"
                    '发送文件流到客户端.
                    page.Response.WriteFile(TargetFile.FullName)
                    '停止执行当前页
                    page.Response.End()
                End If
            Catch ex As Exception
                Throw ex
            End Try
        End Sub
      

  3.   

    不是自己的下载软件下载基本不可能实现除非传什么名字下载什么名字,中文名字可以下载的,用FTP或者映射
      

  4.   

    ChengKing(Enthusiasm Bigrosoft) ( 
    上一个方法正解!
      

  5.   

    如果文件很大的话Copy一个临时文件要好久啊,比如50M
      

  6.   

    汗! WriteDLWindow怎么用呢?放在那块运行?谢谢!