Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Графич. файл в BLOB / 2 сообщений из 2, страница 1 из 1
07.10.2004, 19:25
    #32728824
Konstantin_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графич. файл в BLOB
Графические файлы загружается клиентом на сервер (фото база данных). В SQL базе хранится путь к файлу, описание, и др.
Как бы сделать, чтобы в базе сохранялся уменьшенный имидж в виде BLOB для целей preview?
...
Рейтинг: 0 / 0
08.10.2004, 11:15
    #32729438
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графич. файл в BLOB
Лучше уж тогда и сами файлы в БД хранить.
Ловите работающий код, который и то и то делает и пихает в БД (MS SQL)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
UploadedFile  -- это HtmlInputFile 
    If Len(UploadedFile.Value) >  0  Then
      Dim myImage, myThumbnail As System.Drawing.Image
      Dim myImageStream As New MemoryStream()
      Dim myThumbStream As New MemoryStream()
      Try
        myImage = System.Drawing.Image.FromStream(UploadedFile.PostedFile.InputStream)
        If Not (myImage.RawFormat.Equals(ImageFormat.Jpeg)) Then
          Session("PhotoMessage") = "PhotoErrorImageWrongFormat"
          Exit Try
        End If
        If Not CheckImageIsWrongSize(myImage.Height, myImage.Width) Then
          Exit Try
        End If
        Dim ImageName As String = Path.GetFileName(UploadedFile.PostedFile.FileName)
        Dim ImageType As String = ".jpg"
        If myImage.RawFormat.Equals(ImageFormat.Tiff) Then ImageType = ".tiff"
        ImageName = Replace(ImageName, Path.GetExtension(ImageName), ImageType)

        Dim h, w As Integer
        If myImage.Height > myImage.Width Then
          h =  90 
          w = myImage.Width / (myImage.Height /  90 )
        Else
          w =  90 
          h = myImage.Height / (myImage.Width /  90 )
        End If
        myThumbnail = myImage.GetThumbnailImage(w, h, Nothing, IntPtr.Zero)
        myThumbnail.Save(myThumbStream, ImageFormat.Jpeg)
        myImage.Save(myImageStream, myImage.RawFormat)

        If MyConnection Is Nothing Then
          MyConnection = New SqlConnection("connectionstring")
          MyCommand = New SqlDataAdapter("", MyConnection)
        End If
        MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure
        MyCommand.SelectCommand.Parameters.Clear()
        MyCommand.SelectCommand.CommandText = "PhotoThumbnailIns"
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@FileName", SqlDbType.VarChar)).Value = ImageName
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@Height", SqlDbType.Int)).Value = myImage.Height
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@Width", SqlDbType.Int)).Value = myImage.Width
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@Size", SqlDbType.Int)).Value = UploadedFile.PostedFile.ContentLength
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@Image", SqlDbType.Image)).Value = myImageStream.GetBuffer
        MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@Thumbnail", SqlDbType.Image)).Value = myThumbStream.GetBuffer

        MyCommand.Fill(DS, "PhotoInsert")
      Finally
        If Not myThumbStream Is Nothing Then myThumbStream.Close()
        If Not myImageStream Is Nothing Then myImageStream.Close()
        If Not myThumbnail Is Nothing Then myThumbnail.Dispose()
        If Not myImage Is Nothing Then myImage.Dispose()
        UploadedFile.PostedFile.InputStream.Close()
      End Try
	    UploadedFile.Dispose()
    End If

-- Tygra's --
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Графич. файл в BLOB / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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