0

我正在尝试将文件复制到另一个目录,但出现此错误

System.IO.DirectoryNotFoundException:找不到路径“C:\Documents and Settings\(我的用户名)\Desktop\Source_Folder\File_1.xlsx”的一部分。

但是 File_1.xlsx 存在于我的桌面上存在的文件夹 Source_Folder 中。那么为什么我会收到这个错误?

这是我的代码

    Dim path_orig As String = "C:\Documents and Settings\(my username)\Desktop\Source_Folder\"
    Dim oldFile As String = System.IO.Path.Combine(path_orig, filename)
    Dim path_new As String = Server.MapPath("~") & "\Destination_Folder\"
    Dim newFile As String = System.IO.Path.Combine(path_new, filename)
    File.Copy(oldFile, newFile, True)

*filename 是一个变量,在这种情况下是“File_1.xlsx”

4

1 回答 1

3

不要硬编码Documents and Settings。它会因操作系统而改变。改用这个:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Source_Folder")

此外,如果您在 Web 应用程序中运行它,您可能会遇到权限问题。更改存储文件的位置和/或更改运行应用程序池的用户和/或授予应用程序池用户对该文件夹的权限。

于 2013-07-04T03:13:30.707 回答