Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从共享文件夹或其他服务器复制和粘贴文件?_C#_Asp.net_Wcf - Fatal编程技术网

C# 如何从共享文件夹或其他服务器复制和粘贴文件?

C# 如何从共享文件夹或其他服务器复制和粘贴文件?,c#,asp.net,wcf,C#,Asp.net,Wcf,我正在创建应用程序。在那个里,我放置了组合框,组合框中填充的应用程序号来自db。在选择组合框时,网格将填充另一台机器中驱动器中的文件。就像//user/public/af001/edit/test.JPEG一样,在网格中,我将下载链接放在特定的行上,以便在我的机器中下载该文件,但问题是当我下载该文件时,我没有获取//user/public/af001/edit/test.JPEG if (e.Column Index == 0) {

我正在创建应用程序。在那个里,我放置了组合框,组合框中填充的应用程序号来自db。在选择组合框时,网格将填充另一台机器中驱动器中的文件。就像
//user/public/af001/edit/test.JPEG
一样,在网格中,我将下载链接放在特定的行上,以便在我的机器中下载该文件,但问题是当我下载该文件时,我没有获取
//user/public/af001/edit/test.JPEG

            if (e.Column Index == 0)
            {
                int row;
                //Get the row index
                row = e.Row Index;

                string old Path = @"~\\Users\Public\AS\AFS1402190001\Edit\test.JPEG";
                string new path = @"E:\example\";
                string new File Name = "new file name";
                File Info f1 = new File Info(old Path);
                if (f1.Exists)
                {
                    if (!Directory.Exists(new path))
                    {
                        Directory.Create Directory(new path);
                    }
                    f1.Copy To(string.Format("{0}{1}{2}", new path, new File Name, f1.Extension));
                }
             }
你能告诉我是什么问题吗


谢谢您的帮助。

问题出在这行:

   string.Format("{0}{1}{2}", new path, new File Name, f1.Extension);
看起来您没有构建正确的文件修补程序。尝试使用
System.IO.Path.Combine
组合目录和文件名。比如:

System.IO.Path.Combine(dirPath, string.Format("{0}.{1}", fileName, extension));

当然,您可能希望确保路径/文件名没有无效字符,您可以使用
System.IO.path.GetInvalidFileNameChars()
System.IO.path.GetInvalidPathChars()
来获取需要避免的非法字符

谢谢,但旧的路径,那是在另一台电脑从那台电脑我复制文件和粘贴到我的机器,我怎么做?这段代码是在你的机器上运行的,对吗?如果是这样,那么您必须让另一台电脑共享该文件夹,并使用“网络文件夹”查找该文件,旧文件的最终位置应为\\OldMachineNamerip\SharedFolderName\FileName要在开始编写代码之前对其进行测试,您应该能够浏览该网络文件夹(从旧框中共享).我想我没有正确地看待你的问题-你是否将此用于网站?还是Winform/WCF应用程序?如果它是一个网站,它将是一个不同的故事…是的,这个代码在我的机器,我想复制和粘贴文件/图像从另一台机器。我正在使用桌面应用程序,所以我能够找到其他机器的路径。我怎么能找到?不是下载的,肯定有例外。粘贴该文件,您是否拥有访问文件的权限(帐户),或者您是否使用默认的ASP.Net帐户?