我正在使用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)
我错过了什么?
答案 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