当我尝试在C#后面的代码中替换文件时创建的0字节文件。
string FileExactLocation = s + str;
if (File.Exists(FileExactLocation))
{
File.Replace(FileExactLocation, FileExactLocation,"werwe");
}
else
FileUpload1.SaveAs(FileExactLocation);
在上面的代码中,我试图删除位于服务器上的文件,它被删除但是我试图保存(替换)的文件包含0个字节......它是空的......
请给我解决这个问题....
答案 0 :(得分:2)
我认为你对Replace
的作用感到困惑。如果您只想用新文件替换原始文件,只需删除旧文件,否则,如果您想保留原始文件的备份,请在保存前重命名。
所以,如果我的理解是正确的,我认为你正在寻找:
string FileExactLocation = s + str;
if (File.Exists(FileExactLocation))
{
File.Delete(FileExactLocation);
}
FileUpload1.SaveAs(FileExactLocation);
或者:
string FileExactLocation = s + str;
if (File.Exists(FileExactLocation))
{
// Rename the file adding werwe to the filename
File.Move(FileExactLocation, Path.Combine(FileExactLocation, "werwe"));
}
FileUpload1.SaveAs(FileExactLocation);
答案 1 :(得分:1)
如果我没错,你的代码中某处有内存泄漏,你想尝试使用吗? “using()”语句,并确保您处置与文件
相关的所有对象答案 2 :(得分:0)
原因是在回发后清除了fileUploadcontrol值...因此你创建了没有数据的.zip文件。 在这种情况下,你可以使用字节流....上传文件。