Текущий архив: 2007.08.12;
Скачать: CL | DM;
ВнизОтправка и прием файлов через NMSTRM Найти похожие ветки
← →
pest_tt © (2007-01-04 17:03) [0]вопрос такой:
с клиента отправляю файл на сервер. возможно ли как-нибудь определить какого формата был отправлел файл? или вмемте с файлом отправить какую-нибудь метку или что-то вроде того, чтобы узнать в каком формате сохранять файл.
пробовал с клиента писать:NMStrm1.FromName:="pic.jpg";
но как при получении файла прочитать это самое FromName?
курсовая повисла... Заранее благодарю за ответ
← →
Джо © (2007-01-04 17:10) [1]> или вмемте с файлом отправить какую-нибудь метку
← →
pest_tt © (2007-01-04 17:16) [2]
>> или вмемте с файлом отправить какую-нибудь метку
как это сделать? не отправлять же два файла, один файл jpg а другой файл со словом "jpg"?
и для чего вообще нужен FromName у клиента, если его никак не прочитать? если можно прочитать, то это решит все проблемы.
← →
Джо © (2007-01-04 17:26) [3]> [2] pest_tt © (04.01.07 17:16)
>
> >> или вмемте с файлом отправить какую-нибудь метку
>
>
> как это сделать? не отправлять же два файла, один файл jpg
> а другой файл со словом "jpg"?
Ты, собственно, не файл отправляешь, а поток данных. Вот пусть твой протокол предусматривает, что, например, первые 3 байта потока хранят «формат» файла.
← →
pest_tt © (2007-01-04 18:38) [4]спасибо, Джо, была такая мысль, но не знаю структуру bmp и jpg файлов. у bmp по-моему в начале файла идут две буквы BM. теперь надо структуру изучать...
← →
Джо © (2007-01-04 18:40) [5]> [4] pest_tt © (04.01.07 18:38)
> спасибо, Джо, была такая мысль, но не знаю структуру bmp
> и jpg файлов. у bmp по-моему в начале файла идут две буквы
> BM. теперь надо структуру изучать...
Какую структуру, зачем изучать? Ты, когда посылаешь файл, знаешь какое у него расширение? Ну, вот его и посылай в первых трех байтах потока.
← →
MetalFan_pda (2007-01-04 19:15) [6]а если расширение 4 байта? ))
← →
Джо © (2007-01-04 19:29) [7]> [6] MetalFan_pda (04.01.07 19:15)
> а если расширение 4 байта? ))
Да хоть 125.
Пусть придумает протокол, подходящий для его задач, это не суть важно. Например, первыми идут два байта, в которых хранится длина расширения, затем само расширение, затем данные. Какая, собственно, разница.
← →
pest_tt © (2007-01-04 19:29) [8]
> Какую структуру, зачем изучать? Ты, когда посылаешь файл,
> знаешь какое у него расширение? Ну, вот его и посылай в
> первых трех байтах потока.
а как это реализовать?
при отправке в переменнуюfile_stream: TMemoryStream;
как добавить в начало 3 байта? если можешь приведи пример кода.
← →
Джо © (2007-01-04 19:29) [9]> первыми идут два байта, в которых хранится длина расширения
Неплохой запас :-D
← →
pest_tt © (2007-01-04 19:30) [10]и как потом удалить эти три байта, чтобы файл не повредить?
← →
pest_tt © (2007-01-04 19:38) [11]я не пойму, Джо, ты предлагаешь использовать байты уже имеющиеся в отправляемом файле или дописывать в начало потока потока дополнительные байты? если первый вариант, то именно для этого я и хотел изучить структуру графических файлов. а усли второй вариант, то скажи, пожалуйста, как дописать при отправке и потом прочитать и удалить при приеме.
← →
MetalFan_pda (2007-01-04 19:44) [12]TStream.ReadBuffer
TStream.WriteBuffer
TStream.CopyFrom
TStream.Position
TStream.Seek
+F1 ?
или тебе готовенькое надо?
← →
pest_tt © (2007-01-04 20:00) [13]спасибо, MetalFan_pda, готовить не надо)
Страницы: 1 вся ветка
Текущий архив: 2007.08.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.047 c