我是网络应用程序的新手,我正在尝试编写一个允许我下载图像的web.py服务器。到目前为止,我将它保持在最低限度,直到我能看到它是如何工作的。我有一些代码,当我输入正确的URL时会返回一个图像:
class download:
def GET(self, args):
path = 'path/to/image'
web.header('Content-type','images/jpeg')
web.header('Content-transfer-encoding','binary')
return open(path, 'rb').read()
因此,当我转到URL时,它会自动下载图像,但是它将其命名为“download”并且没有扩展名。有没有办法指定下载时的文件名?这是否必须在某处的标题中指定?
答案 0 :(得分:1)
您需要content-disposition
标题:
'Content-Disposition: attachment; filename=my_filename.jpg'
答案 1 :(得分:1)
您需要设置Content-Disposition
标头,例如:
web.header('Content-Disposition', 'attachment; filename="fname.ext"')
参考:http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1