2012-06-27 2 views
1

Мне нужна помощь в загрузке изображения в jquery, а затем отправка его на сервер для его вставки на сервер sql и получение изображения из sql server, затем добавив его в div. Есть ли способ сделать это с клиентской стороны на серверную и наоборот? Я читал так много статей, но большинство из них - чистая серверная. Может ли кто-нибудь дать мне пример? Любая помощь будет полностью оценена.Как загрузить изображения/файлы и сохранить на сервер sql с помощью jquery в asp.net и наоборот

+0

Вы используете управление загрузкой файлов для загрузки файла? и вы хотите, чтобы он сэкономил на DB асинхронно? почему вы сохраняете целое изображение в БД, которую вы должны сохранить в локальном каталоге и сохранить путь в db – MSUH

+0

Да, я буду использовать элемент управления загрузкой файлов. Мой план состоит в том, чтобы преобразовать файл в данные и сохранить его на сервере. Насколько это возможно, я не хочу хранить imagei в локальном каталоге. Я хочу, чтобы он хранился в БД. – ljpv14

ответ

0

Для загрузки файла Async см. This article.

1) При этом вы сможете получить изображения байтов, которые вы можете сохранить в db, или можете преобразовать их в изображение и сохранить в каталоге.

2) После того, как вы сохраните изображение, которое вы можете получить байты из БД, на странице вы можете использовать

<img id="img" src="GetImage.ashx?ImageId=1"/> 

В GetImage.ashx вы можете написать следующий код

//byte[] image = Get image bytes from DB using ImageID 
System.Drawing.Image img = byteArrayToImage(image); 

MemoryStream stream = new MemoryStream(); 
img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
img.Dispose(); 
stream.Position = 0; 
byte[] data = new byte[stream.Length]; 
stream.Read(data, 0, (int)stream.Length); 
stream.Dispose(); 
Response.Clear(); 
Response.ContentType = "image/jpeg"; 
Response.BinaryWrite(data); 

Byte функция преобразования

public Image byteArrayToImage(byte[] byteArrayIn) 
{ 
    MemoryStream ms = new MemoryStream(byteArrayIn); 
    Image returnImage = Image.FromStream(ms); 
    return returnImage; 
} 
+0

Я бы рекомендовал использовать общий обработчик (ashx), а не webform (aspx). нет смысла переносить весь добавленный багаж веб-форм только для того, чтобы очистить его и ответить изображением –

+0

Да, вы правы, это опечатка, я использовал обработчик в своем проекте для обработки этого. Редактирование моего ответа – MSUH

+0

Можете ли вы, ребята, дать мне пример того, как я могу обработать определенное изображение из базы данных. Я практиковал извлечение строк и заполнение их до данных. С помощью этого решения, как я могу передать полученное изображение из базы данных в общий обработчик для преобразования? Прошу прощения за эти вопросы, так как это моя первая работа с загрузкой/загрузкой изображений. Благодаря! – ljpv14

Смежные вопросы