我有一个FileUpload控件,当我单击一个按钮时,我想将FileUpload文件保存到服务器中的文件中。
我检查是否从FileUpload中获取了一个包含数据的文件,但是当我尝试将其保存在服务器中时,创建的文件为空。我在做什么错了?
一开始我有更新面板,但是现在没有任何更新面板。
string string1, string2, string3;
bool bool1= false, bool2= false, bool3= false;
using (StreamReader reader = new StreamReader(fuSubirPlantilla.PostedFile.InputStream))
{
string contenidoPlantilla = reader.ReadToEnd();
bool1= contenidoPlantilla.Contains("[tag1]");
bool2= contenidoPlantilla.Contains("[tag2]");
bool3= contenidoPlantilla.Contains("[tag3]");
}
if (bool1 && bool2 && bool3)
{
string1 = dropdown1.SelectedValue;
string2 = dropdown2.SelectedValue;
string3 = dropdown3.SelectedValue;
string filename= "filename1_" + string1 + "_" + string2 + "_" + string3 + ".html";
string folder = Server.MapPath( "~/XML_MI/Common/").Replace("/", "\\");
// Me aseguro de que termine en \\
folder = folder.EndsWith("\\") ? folder : folder + "\\";
// Antes de guardar el archivo
string folderFilePath = $"{folder}{filename}";
fuSubirPlantilla.SaveAs(folderFilePath);
//Stream stream = fuSubirPlantilla.PostedFile.InputStream;
//using (FileStream fileStream = File.Create(folderFilePath))
//{
// stream.CopyTo(fileStream);
//}
}
else
{
// Error
}
如您所见,我尝试了另一种方法,但是它仍然不起作用
using (FileStream fileStream = File.Create(folderFilePath))
{
stream.CopyTo(fileStream);
}
问题与我在开始阅读[ reader.ReadToEnd()]的所有Stream有关(如果我没有,我就没有问题)
答案 0 :(得分:1)
请尝试将using
块之后的所有代码移入该块中。当您退出using
时,StreamReader
会被处置,它也可能会处置并关闭InputStream
,因此您什么也不会保存到文件中。