Я пытаюсь сохранить изображение в моей директории D:, и для этого я сохраняю Session
некоторые данные из моего FileUpload
компонента.Файл сохраняется через Stream, но не может быть открыт
В моем методе называется btnConfirm_Click
Я создаю мой Session
и в моем btnSave_Click
методы я восстановить эту информацию и попытаться сохранить файл, но когда я проверяю в моем D:
каталоге, файл существует, но когда я открываю этот файл, я увидел сообщение: The windows photo viewer can not open this picture because the file appears to be damaged, corrupted, or is too big ..
Кто-то может мне помочь?
C# Код
protected void btnConfirm_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string sFileName = FileUpload1.FileName;
string fileExtension = System.IO.Path.GetExtension(sFileName).ToLower();
foreach (string ext in new string[] { ".jpeg", ".jpg", ".png" })
{
if (fileExtension == ext)
{
Session["Document"] = sFileName + fileExtension;
Session["Byte"] = FileUpload1.FileBytes;
Session["Content"] = FileUpload1.FileContent;
byte[] b = (byte[])Session["Byte"];
}
}
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (Session["Document"].ToString() != null)
{
try
{
byte[] byteArray = Encoding.UTF8.GetBytes(Session["Content"].ToString());
MemoryStream stream = new MemoryStream(byteArray);
sPath = "D:/123.jpg";
FileStream fileStream = File.Create(sPath, (int)stream.Length);
byte[] bytesInStream = new byte[stream.Length];
stream.Read(bytesInStream, 0, bytesInStream.Length);
fileStream.Write(bytesInStream, 0, bytesInStream.Length);
}
catch
{
}
}
}
И сеанс [«Содержимое»] - это поток, а не массив байтов –
@JeffFoster Спасибо! Оно работает. –