CGI загружает изображение после генерации

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

# 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 . Любая помощь приветствуется.

Я не уверен, но вы пытались отделить фактические данные от заголовков с помощью новой строки? EDIT: запись на print "\n" выводит две строки новой строки, поэтому я думаю, что это должно быть написано так:

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

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

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

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

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