powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Чтение и запись файлов по типу %FileBinaryStream
17 сообщений из 17, страница 1 из 1
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128487
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли возможность в gt.m читать и писать по типу %FileBinaryStream?

Для примера...
Сохранить некий exe или jpg файл в глобал. Потом прочитать его и записать обратно в другой файл.
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128668
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128766
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , переводил переводчиком... Т.ч. ответа или примера как это сделать так и не увидел.
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128772
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все сообщения датируются началом 14-го года... Так ничего в этом плане не появилось?
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128791
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, что нужно это параметры/ключи команды
Код: javascript
1.
open


Позволяющие "стремно" прочитать файл и "стремно" его записать...
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39128814
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Я не пользуюсь. Может это поможет ?
Там примерчик есть
http://mumps.cz/gtm/books/pg/UNIX_manual/ch09s04.html
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129143
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По идее посимвольно пишем
и посимвольно считываем
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129391
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999По идее посимвольно пишем
и посимвольно считываем
Это не совсем так.
Файл jpg это не текстовый файл, с которым такое прокатит.
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129394
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuМожет это поможет?
Бум смотреть...
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129441
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
посимвольное считывание r *s в цикле любой файл считает правильно вместе с терминаторами
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129467
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999По идее посимвольно пишем
и посимвольно считываем
Даже проверил твое предположение...tmp ;;;;[ 16.12.2015 10:59 ]
  n
  d LOAD
  d SAVE
  q
SAVE ; Записать в файл
  n dev,str
  s dev=$$fOpen("/srv/box/tmp1.gif")
  i dev="" w !,"Файл недоступен..." q
  u dev 
  s i=""
  f  s i=$o(^tmpKSA(i)) q:i=""  d LINE
  c dev
  q
LINE ;
  w ^tmpKSA(i)
  w:$o(^tmpKSA(i))'="" $c(10)
  q
LOAD ; Прочитать файл
  n dev,str,len
  k ^tmpKSA
  s dev=$$fOpen("/srv/box/tmp.gif","R")
  i dev="" w !,"Файл недоступен..." q
  s len=100
  u dev
  f  d PART q:$$fEnd   
  c dev
  q
PART ;
  r str#len
  s ^tmpKSA($i(^tmpKSA))=str
  q
  ;;; Открыть файл
fOpen(File,Typ,Byte,Sym)
  n oet
  s:$g(Typ)="" Typ="W"
  q:":\/"[$e($re(File)) ""
  s oet=$et
  s $ec=""
  s $et="d fOpenErr"
  d FOPEN
  q $s($t:File,1:"")
FOPEN ; Собственно открытие
  i Typ="W" o File:(newversion:noreadonly):0 q
  i Typ="M" o File::0 q
  o File:(readonly):0
  q
fOpenErr() ; Обработчик ошибок при открытии файла
  s File=""
  s $et=oet
  s $ec=""
  q:$q 1
  q
  ;;; Достигнут конец файла 
fEnd(Dev)
   q $zeofФайл получается немного больше... И не является картинкой.
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129469
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999посимвольное считывание r *s в цикле любой файл считает правильно вместе с терминаторами
Сей час попробую и это...
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129473
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно использовать не
Код: plaintext
1.
2.
r str#len
а
r *s s str=$c(s)
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129478
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999посимвольное считывание r *s в цикле любой файл считает правильно вместе с терминаторами
Вот спасибо!

Действительно все перезаписалось как нужно!!!tmp ;;;;[ 16.12.2015 11:03 ]
  n
  d LOAD
  d SAVE
  q
SAVE ; Записать в файл
  n dev,str
  s dev=$$fOpen("/srv/box/tmp1.gif")
  i dev="" w !,"Файл недоступен..." q
  u dev 
  s i=""
  f  s i=$o(^tmpKSA(i)) q:i=""  d LINE
  c dev
  q
LINE ;
  w ^tmpKSA(i)
  q
LOAD ; Прочитать файл
  n dev,str
  k ^tmpKSA
  s dev=$$fOpen("/srv/box/tmp.gif","R")
  i dev="" w !,"Файл недоступен..." q
  u dev
  f  d PART q:$$fEnd   
  c dev
  q
PART ;
  r *str
  s ^tmpKSA($i(^tmpKSA))=$c(str)
  q
  ;;; Открыть файл
fOpen(File,Typ,Byte,Sym)
  n oet
  s:$g(Typ)="" Typ="W"
  q:":\/"[$e($re(File)) ""
  s oet=$et
  s $ec=""
  s $et="d fOpenErr"
  d FOPEN
  q $s($t:File,1:"")
FOPEN ; Собственно открытие
  i Typ="W" o File:(newversion:noreadonly):0 q
  i Typ="M" o File::0 q
  o File:(readonly):0
  q
fOpenErr() ; Обработчик ошибок при открытии файла
  s File=""
  s $et=oet
  s $ec=""
  q:$q 1
  q
  ;;; Достигнут конец файла 
fEnd(Dev)
   q $zeof
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129485
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
А почему вам не подходит сохранить jpg файлы, как
советуют, в отдельный файл самой файловой системы
Linux, а в самой базе хранить только пути к метаданным ?

https://groups.google.com/forum/#!msg/enterprise-web-developer-community/XDbCapZ0h-8/nSd5t8MXbLUJ
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129502
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuА почему вам не подходит сохранить jpg файлы, как
советуют, в отдельный файл самой файловой системы
Linux, а в самой базе хранить только пути к метаданным ?
Отвечу стандартно. Вера не позволяет...
...
Рейтинг: 0 / 0
[gt.m] Чтение и запись файлов по типу %FileBinaryStream
    #39129532
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Вера и у меня такая же , но очевидность раздутие БД ...
При чтение потеря эффективности буферизации при каждой загрузки изображения .
Хотя смотря что будете(и как часто) писать и читать и сколько пользователей.
Для ВЕБ сервера не хорошее решение.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Чтение и запись файлов по типу %FileBinaryStream
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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