首页 > 解决方案 > 如何使用 C# 复制刚刚上传到服务器的文件?

问题描述

我将文件上传到服务器并使用 C# 中的 FileUpload.SaveAs() 方法保存它。

当我上传这个文件时,我还想在不同的文件夹中制作同一个文件的副本,以便我可以操作副本并按原样保存原始文件。我怎样才能使用 C# 做到这一点?

到目前为止,我已经能够将文件保存在服务器中名为 myFolder 的文件夹中。

if (FileUpload1.HasFile)
            {
                string path = Path.GetFileName(FileUpload1.FileName);
                path = path.Replace(" ", "");
                FileUpload1.SaveAs(Server.MapPath("~/myFolder/") + path);  

任何帮助将不胜感激!

标签: c#asp.netfile-upload

解决方案


您可以使用File.Copy()来自System.IO.

string path = Path.GetFileName(FileUpload1.FileName);
path = path.Replace(" ", "");
FileUpload1.SaveAs(Server.MapPath("~/myFolder/") + path); 

string source = Server.MapPath("~/myFolder/") + path;
string destination = Server.MapPath("~/myotherfolder/") + path;
File.Copy(source, destination);

File.Copy如果要覆盖具有相同名称的现有文件,则会出现重载:

File.Copy(source, destination, true); // overwrite existing file.

推荐阅读