CGI скачать изображение после генерации - PullRequest
1 голос
/ 09 июля 2010

У меня есть небольшой скрипт Python CGI, который принимает загрузку изображения от пользователя, преобразует в другой формат и сохраняет новый файл во временную папку. Я хотел бы, чтобы он затем автоматически предлагал пользователю загрузить преобразованный файл. Я пробовал:

# image conversion stuff....
print "Content-Type: image/eps\n" #have also tried application/postscript, and application/eps
print "Content-Disposition: attachment; filename=%s\n" % new_filename #have tried with and without this...
print open(converted_file_fullpath).read()
print

Я также пробовал:

print "Location: /path/to/tmp/location/%s" % new_filename
print

Мой браузер загружает script.cgi или script.cgi.ps. Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Я не уверен, но вы пытались отделить фактические данные от заголовков переводом строки? РЕДАКТИРОВАТЬ: запись print "\n" выводит две новые строки, поэтому я думаю, что это должно быть написано так:

print "Content-Type: image/eps"
print "Content-Disposition: attachment; filename=%s" % new_filename
print
print open(converted_file_fullpath).read()

Предполагая, что new_filename имеет какое-то разумное значение, я не вижу, что здесь не так.

0 голосов
/ 09 июля 2010

Оказывается, вы можете использовать заголовок Location для этого, но он работал только для меня с абсолютной ссылкой.Итак,

print 'Location: http://example.com/path/to/tmp/location/%s' % new_filename
print

Я знаю, спецификация cgi говорит, что относительные ссылки должны работать для внутренних перенаправлений, но это то, что у меня сработало ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...