Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Експорт изображения / 14 сообщений из 14, страница 1 из 1
27.12.2016, 03:22
    #39375729
rezo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
Всем доброй ночи. Пытаюсь вытащить фаил жпг из таблицы. Задача состаит чтоб показать изображение на форме. Дошол до того что нужно сохранить фаил на диске и после прилинковать к пикчер боксу. Делаю седушее
Код: vbnet
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.
Private Sub Command4_Click()
 Dim rs As DAO.Recordset
 Dim Buffer() As Byte
 Dim nFile As Integer
 Set rs = CurrentDb.OpenRecordset("image", DAO.dbOpenDynaset, dbSeeChanges)
 rs.FindFirst "id=" & 4
 If Not rs.NoMatch Then
    Path = Trim$(Path)
    If Len(Path) = 0 Then
       Path = Left$(CurrentDb.Name, InStrRev(CurrentDb.Name, "\"))
    ElseIf InStr("\:", Right$(Path, 1)) = 0 Then
       Path = Path & "\"
    End If
    Path = "D:\Projects\magaziis programa iveri\img\img_resize\10.jpg"
    nFile = FreeFile()
    Open Path For Output Access Write Lock Write As #nFile
    Close #nFile
    Open Path For Binary Access Write Lock Write As #nFile
    Buffer = rs("photo")

    Close #nFile
    Erase Buffer
 End If
 Set rs = Nothing

 End Sub



Можете помочь закончить код.. Ану или куда деваутся сохранённый фаил или осюда как показать в пикчербокс.
Заранее всем Спасибо
...
Рейтинг: 0 / 0
27.12.2016, 04:30
    #39375739
rezo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
rezo,

код создает фаил "10.jpg" , Но он пустой.
...
Рейтинг: 0 / 0
27.12.2016, 06:07
    #39375751
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
rezorezo,

код создает фаил "10.jpg" , Но он пустой.А чего бы ему быть полным? Ты 2 (два) раза открываешь файл, но так в него ничего и не записываешь.
...
Рейтинг: 0 / 0
27.12.2016, 06:07
    #39375752
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
rezoкод создает фаил "10.jpg" , Но он пустой.Пустой потому что не ему было команды записать. После строки buffer=rs("photo") надо задать запись буфера в файл
Код: vbnet
1.
Put #nFile, , Buffer   'запись буфера в файл
...
Рейтинг: 0 / 0
27.12.2016, 10:33
    #39375852
Експорт изображения
rezo, а как файл попадает в вашу таблицу? Стандартный механизм Акса предлагает элемент "Рамка объекта" на форме, лежащей на таблице, через который файл загружается в таблицу и через него же и просматривается. При этом - 0 кода.
...
Рейтинг: 0 / 0
27.12.2016, 11:11
    #39375882
Експорт изображения
В оригинале есть и запись буфера, и объяснение, зачем дважды открывается файл:
Код: vbnet
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.
Public Sub ExportBLOBPic(ByVal PictureId As Long, Optional ByVal Path As String)
 Dim rs As DAO.Recordset
 Dim Buffer() As Byte
 Dim nFile As Integer
 Set rs = CurrentDb.OpenRecordset("T_BLOBPics", DAO.dbOpenDynaset)
 rs.FindFirst "PictureId=" & PictureId
 If Not rs.NoMatch Then
    Path = Trim$(Path)
    If Len(Path) = 0 Then
       Path = Left$(CurrentDb.Name, InStrRev(CurrentDb.Name, "\"))
    ElseIf InStr("\:", Right$(Path, 1)) = 0 Then
       Path = Path & "\"
    End If
    Path = Path & rs("PictureName")
    nFile = FreeFile()
    Open Path For Output Access Write Lock Write As #nFile 'обнуление размера
    Close #nFile                                           'файла
    Open Path For Binary Access Write Lock Write As #nFile
    Buffer = rs("BinData")
    Put #nFile, , Buffer
    Close #nFile
    Erase Buffer
 End If
 Set rs = Nothing
End Sub


ВангуюСейчас ТС спросит, почему то, что записалось, не JPEG.
...
Рейтинг: 0 / 0
27.12.2016, 12:35
    #39375927
rezo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
13-й квартал,

Угадал )) фаи записался, но не открывается..
Кодом приходится потому что аксес не открывает в своём ole object жпг.
...
Рейтинг: 0 / 0
28.12.2016, 01:41
    #39376474
Експорт изображения
rezoУгадал )) фаи записался, но не открывается..Потому что он теперь неведома зверушка . Легче забить и записывать правильно оригинальный файл. Переделывай ImportBLOBPic() под себя.
...
Рейтинг: 0 / 0
28.12.2016, 08:56
    #39376541
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
Усть статья Хранение изображений в базе данных
Ваша проблема описана в четвёртом способе хранения в этой статье. В комментариях есть примеры. Возьмите пример для четвёртого способа. Там есть загрузка, выгрузка и вывод в форму
...
Рейтинг: 0 / 0
29.12.2016, 00:47
    #39377323
rezo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
Joss,

Спасибо всем за помошь, решил проблему, переделал базу и выташил все фотки на сервер иобрашаюсь через фтп. проблем нет, но как можно показать фотки на ленточной форме, picturebox вроде 1 на всех.
...
Рейтинг: 0 / 0
29.12.2016, 04:17
    #39377351
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
rezoкак можно показать фотки на ленточной форме, picturebox вроде 1 на всех.Всё зависит от версии Access. В версиях 2007 и новей у рисунка появилось свойство "Данные" (в свойствах контрола вкладка "Данные"), там указывается поле с путями к изображению. Если данные Null, то будет показана картинка указанная в свойстве "Рисунок".
...
Рейтинг: 0 / 0
29.12.2016, 04:25
    #39377352
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
ЗЫ. Кстати, это новое свойство ("Данные", Control Source ) в свойствах объекта (VBA) я так и не увидел...
...
Рейтинг: 0 / 0
29.12.2016, 12:28
    #39377530
advice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
rezoJoss,

Спасибо всем за помошь, решил проблему, переделал базу и выташил все фотки на сервер иобрашаюсь через фтп. проблем нет, но как можно показать фотки на ленточной форме, picturebox вроде 1 на всех.

С ленточной вообще засада - организовывайте без ленточной: http://mokshin.su/node/10
...
Рейтинг: 0 / 0
29.12.2016, 16:30
    #39377813
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Експорт изображения
advicerezoJoss,

Спасибо всем за помошь, решил проблему, переделал базу и выташил все фотки на сервер иобрашаюсь через фтп. проблем нет, но как можно показать фотки на ленточной форме, picturebox вроде 1 на всех.

С ленточной вообще засада - организовывайте без ленточной: http://mokshin.su/node/10 как сказал выше - легко и без проблем
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Експорт изображения / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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