生成后CGI下载图像

时间:2010-07-09 18:48:23

标签: python cgi

我有一个小的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.cgiscript.cgi.ps。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

我不确定,但您是否尝试过换行将标题中的实际数据分开?编辑:写print "\n"输出两个换行符,所以我认为它应该写成:

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

假设new_filename有一些合理的价值,我看不出这里有什么问题。

答案 1 :(得分:0)

事实证明,你可以使用Location标题,但它只对我有绝对的链接。所以,

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

我知道,cgi规范说相对链接应该适用于内部重定向,但这对我有用...