У меня есть веб-страница, которая будет использоваться для создания файлов KML с помощью Perl-скрипта. Я хочу, чтобы пользователь добавил некоторые данные в форму, которая будет использоваться в моей perl скрипт. Когда форма отправлена, она запустит скрипт, создаст файл kml, а затем предложит пользователю сохранить файл. Единственная часть, о которой я не уверен, заключается в том, как пользователь может сохранить файл после создания сценария KML. У меня есть запрос скрипта perl, чтобы загрузить или использовать что-либо на странице HTML, чтобы загрузить. Я не уверен, что это лучший способ сделать это.Сохраните файл после запуска скрипта perl на веб-странице
1
A
ответ
10
Если у вас есть ссылка или форма для сообщения серверу о создании KML, тогда просто создайте KML и отправьте его обратно в браузер с некоторыми дополнительными HTTP-заголовками. Заголовки, которые вы хотите являются:
Content-disposition
набор дляattachment;filename=whatever.kml
, где «whatever.kml» является то, что вы хотите, чтобы файл будет называться.Content-type
установлен наapplication/vnd.google-earth.kml+xml
.
Content-disposition
должен сообщить браузеру, чтобы загрузить KML вместо того, чтобы пытаться его обработать.
Таким образом, скрипт Perl будет предлагать браузеру запрашивать загрузку.
3
Предполагая, что содержимое файла KML в $ KML, то вы хотите сделать что-то вроде: (? И актуальность Google-земли)
use CGI;
my $cgi = new CGI;
print $cgi->header('-Content-disposition' => 'attachment;filename=kml.xml',
'-Content-type' => 'application/vnd.google-earth.kml+xml');
print $kml;
Смежные вопросы
- 1. Проверить файл и обработать его, наличие скрипта запуска файла - perl
- 2. Сохраните контакт после запуска приложения
- 3. Как создать shorcut для запуска скрипта perl?
- 4. обновить файл sh с помощью VBA до запуска скрипта perl
- 5. Как установить .pm для запуска скрипта perl
- 6. Perl скрипта редактирование CSV файл
- 7. Найти 32-битные Linux Perl-библиотеки для запуска Perl-скрипта
- 8. Сохраните состояние iframe после запуска события. (JQuery)
- 9. Выходит ли SQLPlus после запуска скрипта?
- 10. Как распечатать версию запуска perl из самого скрипта perl?
- 11. Функция запуска Perl на выходе сценария/die
- 12. Создание скрипта запуска MongoDB
- 13. Получить текущее содержимое страницы после запуска скрипта
- 14. Как добавить фотографию на предыдущую страницу после запуска скрипта Python
- 15. Запуск скрипта запуска запуска Guake
- 16. Perl - способ запуска скрипта несколько раз и добавления выходных файлов
- 17. back to top после запуска скрипта
- 18. файл сброса после запуска
- 19. Файл конфигурации Bash для скрипта perl cgi
- 20. Странная ошибка Node.js после запуска скрипта
- 21. Нет успеха Ajax после запуска php-скрипта
- 22. Лучший способ запуска скрипта Perl из weblogic Приложение Java EE
- 23. Почему перезагрузка страницы после запуска этого скрипта
- 24. Запуск скрипта после запуска службы Windows
- 25. Jmeter listner results export после запуска скрипта
- 26. Scripting Docker, не подключенный после запуска скрипта?
- 27. Symfony2 background Процесс запуска после завершения скрипта?
- 28. После запуска скрипта python странные знаки назад
- 29. После запуска скрипта, переменный теряет свою ценность
- 30. Автоматически закрыть PhantomJs после запуска скрипта
ОК, я вижу: вот что KML является , –
Когда вы говорите, отправляйте его с некоторыми дополнительными заголовками HTTP, как вы это понимаете? Вы имеете в виду верхние несколько строк фактического файла или отправляете заголовки на фактическую страницу. Я даже не уверен, как отправить файл на страницу. Я просто смог создать файл и сохранить его на хостинге, но это не кажется очень эффективным. – shinjuo
@shinjuo: Perl-скрипт работает на сервере и выполняется с удаленной HTML-страницы, не так ли? Таким образом, вы отправите KML обратно так же, как вы отправляете HTML обратно: напечатайте его (возможно). Информация о том, как вы отправляете данные обратно в браузер и как настроите заголовки HTTP, будет зависеть от того, как размещается сценарий и какая структура используется: старая школа CGI, FastCGI, mod_perl, Catalyst, Dancer, ... –