Страница: 1 |
Страница: 1 |
Вопрос: Как залить картинку на сервер?
Добавлено: 10.05.05 13:58
Автор вопроса: shadow
Здрасте. Такой вот вопросец - допустим есть база сотрудников и напротив фамилии каждого должно быть его фото. Так вот, как програмно залить это фото на сервер, а потом его от туда вынуть. У объекта PictureBpx нет свойства DataSource. (( Help!
Сервер - MS SQL 2000 соотвествн. )
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 10.05.05 16:35
Код писать не стану, готового у меня вроде ничего не написано..
Технологию расскажу.
В базе делаем поле типа image - в него можно заливать любые бинарные
данные, в том числе и картинки.
При сохранении в БД берем картинку, сохраняем ее в байтовый массив:
'Некие действия над картинкой, если нужно
Dim MyOut As New IO.MemoryStream
img.Save(MyOut, Imaging.ImageFormat.Png) 'Тут формат указывается
Dim bytes() As Byte
bytes = MyOut.GetBuffer
В bytes в итоге лежит картинка в бинарном виде.
Сохраняем картинку в БД:
Dim SQL As String
Dim Comm As SqlCommand
SQL = "Insert Into log (TaskInfo) Values (@taskinfo)"
Comm = New SqlCommand(SQL, Conn)
Comm.Parameters.Add("@taskinfo", SqlDbType.Image).Value = bytes
Comm.ExecuteNonQuery
Если картинка берется из файла, то нужно для получения данных из файла
использовать классы из System.IO.
Ну а достать картинку тоже несложно. Допустим Вы загрузили данные в
DataTable. И нужно достать картинку из нулевой DataRow...
Dim ms As New MemoryStream(bytes)
ms.Position=0
Dim img As Image = Image.FromStream(ms)
ms.Close
PictureBox1.Image = img
Номер ответа: 2
Автор ответа:
⊗WaX⊗
Вопросов: 26
Ответов: 325
Web-сайт:
Профиль | | #2
Добавлено: 10.05.05 19:10
В MSDN Есть такая статья, что то типа Using BLOBs.
Можешь почитать вот это, точно твой вопрос (смотри ссылки ынутри статьи на картинку и на листинг)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlmag03/html/ABLOBofaDifferentColor.asp
Номер ответа: 3
Автор ответа:
shadow
Вопросов: 11
Ответов: 28
Профиль | | #3
Добавлено: 11.05.05 11:05
Всем спасибо )
Паша жжош! ))
Номер ответа: 4
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #4
Добавлено: 11.05.05 12:07
А я не согласен с ребятами из Microsoft.
Мой код короче, понятнее и не требует промежуточного сохранения
картинки в файл.
Номер ответа: 5
Автор ответа:
shadow
Вопросов: 11
Ответов: 28
Профиль | | #5
Добавлено: 11.05.05 12:47
То что понятней - факт )) Правда пока не пробовал в реализации на работоспособность !!