Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

Отправка и прием файлов через 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
2-1184297161
Riply
2007-07-13 07:26
2007.08.12
Объявление структур по-русски :)


15-1184692404
TruePunk
2007-07-17 21:13
2007.08.12
MMS


6-1167880831
LFRT
2007-01-04 06:20
2007.08.12
Как с помощью сокетов получить от сервера имя файла


6-1163349166
__nick__
2006-11-12 19:32
2007.08.12
Подскажите как извлечь картинку с Webbrowser


10-1135343150
granni
2005-12-23 16:05
2007.08.12
смена слайдов в PowerPoint





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский