上载前的ASP.NET FileUpload ReName文件

时间:2013-01-23 16:21:41

标签: asp.net

我正在使用ASP.NET中的FileUpload控件。用户仅限于上传服务器上已存在的某个文件名和扩展名。我想要做的是用不同的名称上传用户选择的文件。例如,文件是服务器和工作站上的monthlyreports.xls。我希望将工作站版本上传为monthlyreports_user.xls,这样它就不会覆盖现有文件。

我查看了How can I rename a file in ASP.NET?并尝试了File.Copy方法,但它无法正常工作 - 我收到一条无法找到该文件的错误。

Private Sub uploadItems(ByVal vPath As String)
    Dim strRename As String = "monthlyreports_user.xls"

    File.Create(vPath & strRename)

    Try
        If FileBrowse.HasFile Then

            File.Copy(FileBrowse.FileName, strRename)

            FileBrowse.SaveAs(strRename)

        End If
    Catch ex As Exception
        DisplayMsgBox(Me, ex.Message(), "uploadErr")
    End Try

FileBrowse是我的FileUpload控件的名称,vPath是服务器上的应用程序安装路径。

2 个答案:

答案 0 :(得分:1)

.SaveAs方法已经为您提供了指定新fileName的机会。这应该工作

 string newfilename = String.Format("{0}_{1}", "My_Prefix_", FileBrowse.FileName)
 FileBrowse.SaveAs(newfilename)

答案 1 :(得分:0)

您只需要调用FileUpload控件上的SaveAs方法:

FileBrowse.SaveAs(strRename)

您的代码中对File.Copy的调用是不必要的。