使用web.py创建下载命令

时间:2014-04-22 07:05:24

标签: python web.py

我是web.py中的新手,我尝试创建一个下载命令。

我创建了这个:

import web

urls = (
    '/', 'index',
    '/download', 'Download'
)

class index:
    def GET(self):
        return "Hello, world!"

class Download:
    def GET(self):
           path = 'http:\\localhost:8080\C:\11\229077_6482396906_558_n.jpg' 
           web.header('Content-Disposition', 'attachment; filename="fname.ext"')
           web.header('Content-type','images/jpeg')
           web.header('Content-transfer-encoding','binary') 
           return open(path, 'rb').read()

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

我有两个主要问题:

  1. 当我输入http://localhost:8080/download时,它会给我500个内部服务器错误。为什么呢?

  2. 我无法选择要下载的文件(只需手动更改路径参数)。我如何给这个函数外部参数?

2 个答案:

答案 0 :(得分:0)

  1. 500是通用错误代码,因此很难诊断。在设置代码时,我会在浏览器中检查您的URI,以确定您的服务器是否正常运行。完整的错误代码列表 - link

  2. 您只能找到指向它们的链接的文件。例如,请参阅these wget commands

答案 1 :(得分:0)

2.例如,将其添加到您的代码中:

filename = web.input().file

因此,在输入链接时会返回所需的文件名:

yoursite.tld/downloads?file=FILENAME

在此处详细了解此主题:http://webpy.org/cookbook/input