Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET文件上载上载前重命名文件_Asp.net - Fatal编程技术网

ASP.NET文件上载上载前重命名文件

ASP.NET文件上载上载前重命名文件,asp.net,Asp.net,我正在使用ASP.NET中的FileUpload控件。用户只能上载服务器上已存在的特定文件名和扩展名。我想做的是用不同的名称上传用户选择的文件。例如,服务器和工作站上的文件都是monthlyreports.xls。我希望将工作站版本作为monthlyreports_user.xls上传,以便它不会覆盖现有文件 我查看并尝试了File.Copy方法,但它不起作用-我得到一个错误,它找不到文件 Private Sub uploadItems(ByVal vPath As String) Di

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

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

SaveAs方法已经为您提供了指定新文件名的机会。这应该行得通

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

.SaveAs
方法已经为您提供了指定新文件名的机会。这应该行得通

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

您只需调用FileUpload控件上的
SaveAs
方法,如下所示:

FileBrowse.SaveAs(strRename)

不需要在代码中调用
File.Copy

您只需调用FileUpload控件上的
SaveAs
方法,如下所示:

FileBrowse.SaveAs(strRename)

不需要在代码中调用
File.Copy

File.Copy
命令不仅仅是多余的;这行不通。
文件名
将是客户端上文件的路径*,服务器上可能不存在该路径。(*或者可能只是名称,取决于浏览器。)工作得非常好。非常感谢。
File.Copy
命令不仅仅是多余的;这行不通。
文件名
将是客户端上文件的路径*,服务器上可能不存在该路径。(*或者可能只是名称,取决于浏览器。)工作得非常好。非常感谢。