C# 在C中复制特定文件(.docx、.pdf、.pptx等)表单文件夹#

C# 在C中复制特定文件(.docx、.pdf、.pptx等)表单文件夹#,c#,C#,我正在尝试将文件(.docx、.pdf、.pptx等)从源文件夹(服务器上)复制到目标文件夹(客户端上)。 用户可以从文件列表中选择要下载的文件。他选择文件,然后将其下载(复制到他的计算机)到目标路径 dstnLocation=@“C:\Fldr\Docs; 我的代码: string sourceLocation = textBox2.Text; string dstnLocation = @"C:\Fldr\Docs"; System.IO.FileInfo file = new System

我正在尝试将文件(.docx、.pdf、.pptx等)从源文件夹(服务器上)复制到目标文件夹(客户端上)。 用户可以从文件列表中选择要下载的文件。他选择文件,然后将其下载(复制到他的计算机)到目标路径
dstnLocation=@“C:\Fldr\Docs;

我的代码:

string sourceLocation = textBox2.Text;
string dstnLocation = @"C:\Fldr\Docs";
System.IO.FileInfo file = new System.IO.FileInfo(dstnLocation);
file.Directory.Create();

System.IO.File.Copy(sourceLocation, dstnLocation,true);
MessageBox.Show("Download Complete");
问题是,它创建了一个文件作为“文档”(必须使用open with打开文件),如果我没有错,那是因为目标路径。有人能告诉我我做错了什么吗。
源路径是通过数据库检索的!

您需要连接,否则您的目标位置只是文件夹而不是文件路径目标

所以做些类似的事情

 var destFile = string.Format(@"{0}\{1}", dstnLocation, Path.GetFileName(sourceLocation));
那就抄下来

所以代码变得

string sourceLocation = textBox2.Text;
string dstnLocation = string.Format(@"C:\Fldr\Docs\{0}", Path.GetFileName(sourceLocation);
if (! System.IO.Directory.Exists(dstnLocation))
{
      System.IO.Directory.CreateDirectory(dstnLocation);
}

System.IO.File.Copy(sourceLocation, dstnLocation,true);
MessageBox.Show("Download Complete");

您创建的文件名不正确:

string dstnLocation = @"C:\Fldr\Docs";
System.IO.FileInfo file = new System.IO.FileInfo(dstnLocation);
这将创建一个名为
“C:\Fldr\Docs”
的文件,例如,如果我没有弄错,您想要的是
“C:\Fldr\Docs\myfilename.docx”

请尝试以下方法:

var filename = Path.GetFileName(sourceLocation);
string dstnLocation = Path.Combine(@"C:\Fldr\Docs", filename);

这里的问题是目标需要一个“输出”文件名

这个问题存在于这行代码中

System.IO.File.Copy(sourceLocation, dstnLocation,true);
dstnLocation需要与输出文件名连接,例如:

System.IO.File.Copy(sourceLocation, Path.Combine(dstnLocation,"Database.dbs"),true);

嘿,非常感谢!我的系统出现了一些问题,因此花了很长时间才回复!!我尝试了关于代码,但现在我遇到了一个恼人的错误,访问路径被拒绝!这纯粹是源文件或目标路径的权限。请检查两端,确保代码运行的任何用户都具有两端的权限