![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по Web серверу? [D7, Win2k]
r9000 © (2004-05-12 11:29:00)Добрый день!
Создал Web сервер используя ISAPI/NSAPI DLL на основе компонентов Delphi.
В действии при нажатии кнопки у меня файл записанный в таблицу базы данных отсылается веб-браузеру так:
Bm2:=TMemoryStream.Create;
TBlobField(AdoQuery3.FieldByName('sod_doc')).SaveToStream(Bm2);
Bm2.Position:=0;
Response.ContentStream:=Bm2;
delete(sdoc,1,1); // в переменной sdoc содержится расширение файла отправляемого в браузер
Response.ContentType:=sdoc;
Response.SendResponse;
При этом в браузере возникает запрос: открыть этот файл из текущего места или сохранить этот файл на диске. У меня возник такой вопрос, что нужно сделать, чтобы для пункта сохранить этот
файл на диске в диалоговое окно сохранить как в имени файла было название temp и добавлялось расширение скажем doc(т.е. temp.doc), а не приходилось бы вручную добавлять расширение и изменять имя файла, а для пункта открыть этот файл из текущего места, не вручную бы выбиралась программа,с помощью которой можно открыть файл, а сразу бы открывался файл по полному имени и расширении файла.
r9000 (2004-05-13 07:43:00) [1]А что в данном случае обозначает application? Не могли бы вы привести список значений Response.ContentType для прграмм Excel,
IE,Power point,Notepad,Acrobat reader, jpeg,bmp, пожалуйста, а то я в справочной литературе не нашел. И почему-то открывается файл нормально, а когда я пытаюсь по второму пункту диалога сохранить файл с типом Response.ContentType:='temp/vnd.ms-word' на диске то он не передает в диалоговое окно ни расширение файл .doc ни имени файла.
Palladin (2004-05-13 00:05:00) [2]Нужно сразу в Response.ContentType указывать, что же есть возвращаемый результат...
к примеру Ваш несчастный док файл, перед отправкой должен установить
Response.ContentType:='application/vnd.ms-word';
r9000 (2004-05-12 13:08:00) [3]Да возможно вы правы, что браузер берет имя файла из ссылки, но
вопрос остается, как передать имя файла и расширение вместе с самим файлом не создавая файлов непосредственно из таблицы базы?
wal (2004-05-12 12:19:00) [4]Если я не ошибаюсь, то браузер берет имя файла из ссылки. Соответственно ссылку на сделай что-то вроде
<a href="www.aaa.bbb/path/test_isapi.dll/test.doc">.
Писано из головы, если не прав, прошу сильно не пинать.