Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.02 c
2-1184647927
Knob
2007-07-17 08:52
2007.08.12
Регулировка звука


2-1184743005
Grademax
2007-07-18 11:16
2007.08.12
Как узнать окно какой программы активно в данный момент?


15-1184602971
pasha_golub
2007-07-16 20:22
2007.08.12
utf8 to cp1251


3-1178012895
Sapos
2007-05-01 13:48
2007.08.12
Формат времени


4-1172224362
iant
2007-02-23 12:52
2007.08.12
Работа со сканером