Asp.net 文件已存在,请使用system.io.File.copy

Asp.net 文件已存在,请使用system.io.File.copy,asp.net,file,copy,Asp.net,File,Copy,我正在使用System.IO.File.Copy将文件从服务器A复制到服务器B。当文件存在时,如果我收到错误“文件已存在”,则此功能可以正常工作。我尝试使用if file.exsist和nothing捕获它 这是我的密码 'Save files to disk FileUpload1.SaveAs(Server.MapPath("../pdf/audits/" & FileName)) 'Local Server Dim localPath As String = "\\serve

我正在使用System.IO.File.Copy将文件从服务器A复制到服务器B。当文件存在时,如果我收到错误“文件已存在”,则此功能可以正常工作。我尝试使用if file.exsist和nothing捕获它

这是我的密码

'Save files to disk
 FileUpload1.SaveAs(Server.MapPath("../pdf/audits/" & FileName))
 'Local Server
 Dim localPath As String = "\\server01\folder1$\pdf\audits\"
 'Remote Server
 Dim remotePath As String = "\\server02\folder2$\pdf\audits\"
 System.IO.File.Copy(localPath + FileName, remotePath + FileName)

我遗漏了什么?

如果第三个参数已经存在,则需要覆盖它

System.IO.File.Copy(fileName, destName, overwrite);

如果第三个参数已经存在,则需要覆盖它

System.IO.File.Copy(fileName, destName, overwrite);

如果您只是像这样修改复制操作,它应该可以工作。最后一个参数将覆盖该文件

System.IO.File.Copy(localPath + FileName, remotePath + FileName, True);

如果您只是像这样修改复制操作,它应该可以工作。最后一个参数将覆盖该文件

System.IO.File.Copy(localPath + FileName, remotePath + FileName, True);

如果您有大文件,您不会希望每次都覆盖它们。尝试修复您的检查以查看文件是否存在。像这样的事情(C#):


如果您有大文件,您不会希望每次都覆盖它们。尝试修复您的检查以查看文件是否存在。像这样的事情(C#):

将此添加到检查中

    If Not New System.IO.FileInfo(remotePath + FileName).Exists Then
        File.Copy(localPath + FileName, remotePath + FileName, overwrite)
    End If
将此添加到检查中

    If Not New System.IO.FileInfo(remotePath + FileName).Exists Then
        File.Copy(localPath + FileName, remotePath + FileName, overwrite)
    End If


您遇到的错误是什么?很抱歉,错误出现在我的主题行“文件已存在”中。您遇到的错误是什么?很抱歉,错误出现在我的主题行“文件已存在”中。现在,我遇到另一个错误“访问被拒绝的路径”。如果我删除了允许我再次写入路径的文件,则这是不正确的。如果我去掉参数True,我会得到另一个错误“文件已经存在”。一定有办法绕过它。请尝试对目标文件夹使用“完全控制”权限。这也可能是一些模拟问题。我的服务器管理员说此文件夹已具有完全控制权。他说这可能是这个服务器的HIPS问题。他现在正在检查。现在我得到一个不同的错误“拒绝访问路径”。如果我删除了允许我再次写入路径的文件,则这是不正确的。如果我去掉参数True,我会得到另一个错误“文件已经存在”。一定有办法绕过它。请尝试对目标文件夹使用“完全控制”权限。这也可能是一些模拟问题。我的服务器管理员说此文件夹已具有完全控制权。他说这可能是这个服务器的HIPS问题。他现在正在检查。我已经做了这个,文件在那里,而且我可以在它复制时看到它,我在测试时打开了远程服务器上的资源管理器。它正在工作,我正在使用你的代码检查我的代码是否工作。如果没有新的System.IO.FileInfo(remotePath+文件名).Exists,则File.Copy(localPath+文件名,remotePath+文件名,overwrite)在我尝试使用该文件时结束。删除该文件,但该文件不起作用。这是我的密码。Dim filePath As String=“\\server02\file$\rss\alert-special-reports2.xml”如果不是新的System.IO.FileInfo(filePath)。存在,则System.IO.file.Delete(filePath)结束如果。。你能告诉我我做错了什么吗?你正在检查文件是否不在那里,然后试图删除它。你不能删除不在那里的文件,你会得到一个拒绝访问的错误。我做了一个分析,文件在那里,而且我可以在它复制时看到它,我在测试时打开了远程服务器上的资源管理器。它正在工作,我正在使用你的代码检查我的代码是否工作。如果没有新的System.IO.FileInfo(remotePath+文件名).Exists,则File.Copy(localPath+文件名,remotePath+文件名,overwrite)在我尝试使用该文件时结束。删除该文件,但该文件不起作用。这是我的密码。Dim filePath As String=“\\server02\file$\rss\alert-special-reports2.xml”如果不是新的System.IO.FileInfo(filePath)。存在,则System.IO.file.Delete(filePath)结束如果。。你能告诉我我做错了什么吗?你正在检查文件是否不在那里,然后试图删除它。您不能删除不存在的文件,您将得到一个拒绝访问错误。如上所述,当我使用此参数时,我会得到另一个错误“拒绝访问路径”。如果我删除允许我再次写入路径的文件,则该选项不正确。可能是运行应用程序池的用户没有此文件夹所需的权限。检查你的iss设置,查看哪个用户运行你的应用程序池,并检查它是否作为对此文件夹的权限。如上所述,当我使用此参数时,我会出现另一个错误“访问denided路径”。如果我删除允许我再次写入路径的文件,则该选项不正确。可能是运行应用程序池的用户没有此文件夹所需的权限。检查你的iss设置,查看哪个用户运行你的应用程序池,并检查它是否作为对此文件夹的权限。