使用system.io.file.copy已存在文件

时间:2012-11-15 21:07:44

标签: asp.net file copy

我正在使用System.IO.File.Copy将文件从serverA复制到serverB。当文件存在时,这可以正常接受我收到错误“文件已经存在”。我尝试使用if file.exsist并没有任何内容来捕获它。

这是我的代码。

'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)

我错过了什么?

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

var localPath = @"C:\";
var remotePath = @"\\server\folder\";
var fileName = "test.txt";

if (!new System.IO.FileInfo(remotePath + fileName).Exists)
{
    System.IO.File.Copy(localPath + fileName, remotePath + fileName);
}

答案 3 :(得分:-1)

     I got it working with help from RLG.  

       'Save files to disk
        FileUpload1.SaveAs(Server.MapPath("../pdf/audits" & FileName))
        'SIGAR Public CMS
        Dim localPath As String = "\\hqdadev01\sigar_cms$\pdf\audits\"
        'SIGAR Dev
        Dim remotePath As String = "\\hqdadev02\sigar_public$\pdf\audits\"

添加此内容以进行检查。

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