powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение картинки в поле image. Вечный вопрос
5 сообщений из 5, страница 1 из 1
Сохранение картинки в поле image. Вечный вопрос
    #33954170
lunoxod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я сохраняю картинку, выбранную пользователем через
<input id="fileFirst" runat="server" type="file"/> ?

Делаю вот так:
Stream fs= fileFirst.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
и затем
...
using (SqlCommand command = new SqlCommand("ALBUM_CREATE_PHOTO", sqlConn))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@galery_id", Convert.ToInt32(Request.Params["galery_id"]));
command.Parameters.AddWithValue("@author_id", Profile.ID);
command.Parameters.AddWithValue("@pic", photo);
command.Connection.Open();
command.ExecuteNonQuery();
sqlConn.Close();
Response.Redirect("galleries.aspx");
}

Потом, как и написано в статье, описывающую создание собственного HttpHandler, вывожу на страницу и вижу прямоугольник с крестом
...
Рейтинг: 0 / 0
Сохранение картинки в поле image. Вечный вопрос
    #33954211
netleon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//Правильно ли я сохраняю картинку, выбранную пользователем через
//<input id="fileFirst" runat="server" type="file"/> ?

//Потом, как и написано в статье, описывающую создание собственного
//HttpHandler, вывожу на страницу и вижу прямоугольник с крестом

 
В чем конкретно проблема: не удается сохранить картинку или не удается ее вывести? Пробовал убедиться что картинка сохранена в БД?Самарское сообщество .NET разработчиков
...
Рейтинг: 0 / 0
Сохранение картинки в поле image. Вечный вопрос
    #33954338
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите код galleries.aspx----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Сохранение картинки в поле image. Вечный вопрос
    #33954363
lunoxod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//Правильно ли я сохраняю картинку, выбранную пользователем через//<input id="fileFirst" runat="server" type="file"/> ?
//Потом, как и написано в статье, описывающую создание собственного //HttpHandler, вывожу на страницу и вижу прямоугольник с крестом


В чем конкретно проблема: не удается сохранить картинку или не удается ее вывести? Пробовал убедиться что картинка сохранена в БД?

Так тут-то собака и зарыта. Через select видно, что в поле типа image какие-то Binary data есть. Потом слово в слово "заимстовал" статью Dimon aka Manowar про HttpHandler, который выводит картинку, но вместо картинки -прямоугольник. Сомнений 2:
1.В поле image я чего-то не так записал
2.Не срабатывает HttpHandler. Ка я узнал ? Лехко. В нем меняешь строку запроса к БД на явно неверную, но ничего не происходит.

Собственно вот он:
namespace PictureHandler
{
public class PictureHandler : System.Web.IHttpHandler
{
private string m_ConnectionString;
bool IHttpHandler.IsReusable
{
get { return true; }
}
public PictureHandler(string strConnString)
{
m_ConnectionString = strConnString;
}
void IHttpHandler.ProcessRequest(HttpContext context)
{

HttpRequest Request = context.Request;
HttpResponse Response = context.Response;
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
SqlCommand myCmd = new SqlCommand("ALBUM_GET_PHOTO666", sqlConn);
myCmd.CommandType = CommandType.StoredProcedure;
myCmd.Parameters.AddWithValue("@id", Int32.Parse(Request.QueryString["id"]));
sqlConn.Open();
SqlDataReader rdr = myCmd.ExecuteReader();
rdr.Read();
Response.ContentType = "IMAGE/JPEG";
Response.OutputStream.Write (rdr.GetSqlBinary(0).Value, 0, rdr.GetSqlBinary(0).Length);
Response.End();
rdr.Close();
sqlConn.Close();
}
}
}

А вот ак он прописан в web.config
<system.web>
...
<httpHandlers>
<add verb="*" path="photo1.aspx" type="PictureHandler.PictureHandler,PictureHandler" />
</httpHandlers>
</system.web>

Туплю весь сегодняшний Владивостокский день
...
Рейтинг: 0 / 0
Сохранение картинки в поле image. Вечный вопрос
    #33956146
lunoxod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажите код galleries.aspx

На эту строку можно не обращать внимания, эта не та страница, на которой я пытаюсь вывести фоты. На ней просто DataGridView со списком названй галерей. Там все просто и все работает.

А картинки я пытаюсь показать на другой странице вот так (собственно, как и написано в статье):
<img src="photo1.aspx?id=3" runat="server" />
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение картинки в поле image. Вечный вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]