I am getting " Could not find a part of the path" error while copying a file from server to local machine. here is my code sample:

 try
            {
                string serverfile = @"E:\installer.msi";
                string localFile = Path.GetTempPath();
                FileInfo fileInfo = new FileInfo(serverfile);
                fileInfo.CopyTo(localFile);
                return true;
            }
            catch (Exception ex)
            {
                return false;

            }

Can anyone tell me what's wrong with my code.

有帮助吗?

解决方案

Path.GetTempPath

is returning you folder path. you need to specify file path as well. You can do it like this

string tempPath = Path.GetTempPath();
string serverfile = @"E:\installer.msi";
string path = Path.Combine(tempPath, Path.GetFileName(serverfile));
File.Copy(serverfile, path); //you can use the overload to specify do you want to overwrite or not

其他提示

You should copy file to file, not file to directory:

...
  string serverfile = @"E:\installer.msi";
  string localFile = Path.GetTempPath();
  FileInfo fileInfo = new FileInfo(serverfile);

  // Copy to localFile (which is TempPath) + installer.msi
  fileInfo.CopyTo(Path.Combine(localFile, Path.GetFileName(serverfile)));
...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top