1

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

我查看了如何在 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 是服务器上的应用程序安装路径。

4

2 回答 2

1

.SaveAs方法已经让您有机会指定一个新的文件名。这应该工作

 string newfilename = String.Format("{0}_{1}", "My_Prefix_", FileBrowse.FileName)
 FileBrowse.SaveAs(newfilename)
于 2013-01-23T16:30:07.867 回答
0

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

FileBrowse.SaveAs(strRename)

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

于 2013-01-23T16:31:32.103 回答