我是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()
我有两个主要问题:
当我输入http://localhost:8080/download
时,它会给我500个内部服务器错误。为什么呢?
我无法选择要下载的文件(只需手动更改路径参数)。我如何给这个函数外部参数?
答案 0 :(得分:0)
500是通用错误代码,因此很难诊断。在设置代码时,我会在浏览器中检查您的URI,以确定您的服务器是否正常运行。完整的错误代码列表 - link。
您只能找到指向它们的链接的文件。例如,请参阅these wget commands。
答案 1 :(得分:0)
2.例如,将其添加到您的代码中:
filename = web.input().file
因此,在输入链接时会返回所需的文件名:
yoursite.tld/downloads?file=FILENAME
在此处详细了解此主题:http://webpy.org/cookbook/input