teledexterus Ответов: 1

Как загрузить изображение


Пытаюсь загрузить и картинку.

if (FileUpload1.HasFile)
            {
                string imagename = System.IO.Path.GetFileName(FileUpload1.FileName);
                string ext = System.IO.Path.GetExtension(FileUpload1.FileName);
                string imagefile = Server.MapPath("Pictures/" + imagename + ext);
                byte[] Image = null;
                if (ext == ".jpg" | ext == ".gif" | ext == ".png")
                {
                    Image = new byte[FileUpload1.PostedFile.ContentLength];
                    HttpPostedFile UploadedImage = FileUpload1.PostedFile;
                    UploadedImage.InputStream.Read(Image, 0, (int)FileUpload1.PostedFile.ContentLength);
                    int numBytesToRead = Image.Length;
                    try
                    {
                        using (FileStream fsNew = new FileStream(imagefile, FileMode.Create, FileAccess.Write))
                        {
                            fsNew.Write(Image, 0, numBytesToRead);
                        }
                    }
                    catch (FileNotFoundException ioEx)
                    {
                        Label100.Text = "Filestream Add Pictures: " + ioEx.ToString();
                    }
                }


Что я уже пробовал:

Попробовал просто использовать имя файла в картинках. Не работать

j snooze

вы получили какую-нибудь ошибку?

j snooze

Это сработало для меня(просто нужно изменить, где у меня есть [MyDestinationPath]

частная загрузка строки (файл HttpPostedFileBase)
{
string path = строка.Пустой;

пробовать
{
если ((файл != нулем) и усилитель; & (файл.ContentLength > 0)& & amp; !строка.IsNullOrEmpty(файл.имя файла))
{
FileInfo filepath = новый FileInfo(файл.имя файла);
строка fileName = файл.имя файла;
строка fileContentType = файл.Значение contentType;
byte[] fileBytes = новый байт[файл.ContentLength];
файл.InputStream. Read(fileBytes, 0, Convert.ToInt32 (файл.ContentLength));
строка пути.Функция concat([MyDestinationPath], путь к файлу.Название);
файл.SaveAs (Сервер.MapPath(путь));

обратный путь;
}
}
поймать (исключение бывший)
{

}

обратный путь;
}

F-ES Sitecore

"Не работает" не дает никому достаточно информации, чтобы помочь вам. Вы звоните механику и говорите :" Моя машина не работает, как мне ее починить?"

Отладьте свой код и пройдите через него, чтобы лучше понять, что он делает\не делает, а затем предоставьте эту информацию в вопросе вместе с любыми сообщениями об ошибках, которые вы получаете, и в какой строке они происходят.

1 Ответов

Рейтинг:
1

an0ther1

Проверьте права доступа к каталогу, в который вы пытаетесь сохранить файл.
Учетная запись, запускающая веб-сайт, по умолчанию не будет иметь прав на запись в файловую систему, если бы это было так, вы могли бы загрузить на веб-сайт любой тип файла.

с уважением