我的 web2py 应用程序在 pythonanywhere 上找不到文件
My web2py application cannot find a file on pythonanywhere
我的 web2py 应用程序在 pythonanywhere 上找不到文件。
控制器:
def RA_download():
import os
path = os.path.join(request.folder,"uploads","ra.txt")
return dict(path=path)
查看
<a href="{{=path}}" download>Download ra.txt</a>
{{=BEAUTIFY(response._vars)}}
文件存在
但是当我点击link。它说 "no file"
这里是link申请
http://speakertgorobots.pythonanywhere.com/MCEdit/default/RA_download
web2py 不通过将操作系统文件路径指定为 URL 来提供文件。相反,您必须将文件放在应用程序的 /static
文件夹中(并生成相对于该文件夹的 URL)或通过控制器提供文件。
如果将文件放在 /static
文件夹的根目录下,link 将如下所示:
<a href="{{=URL('static', 'ra.txt')}}" download>Download ra.txt</a>
如果您想将文件保留在 /uploads
文件夹(或其他某个位置)中,您需要创建一个控制器来为其提供服务。例如:
import os
def serve_ra_file():
return response.stream(os.path.join(request.folder, 'ra.txt'), attachment=True)
而 link 将是:
<a href="{{=URL('default', 'serve_ra_file')}}" download>Download ra.txt</a>
我的 web2py 应用程序在 pythonanywhere 上找不到文件。
控制器:
def RA_download():
import os
path = os.path.join(request.folder,"uploads","ra.txt")
return dict(path=path)
查看
<a href="{{=path}}" download>Download ra.txt</a>
{{=BEAUTIFY(response._vars)}}
文件存在
但是当我点击link。它说 "no file"
这里是link申请
http://speakertgorobots.pythonanywhere.com/MCEdit/default/RA_download
web2py 不通过将操作系统文件路径指定为 URL 来提供文件。相反,您必须将文件放在应用程序的 /static
文件夹中(并生成相对于该文件夹的 URL)或通过控制器提供文件。
如果将文件放在 /static
文件夹的根目录下,link 将如下所示:
<a href="{{=URL('static', 'ra.txt')}}" download>Download ra.txt</a>
如果您想将文件保留在 /uploads
文件夹(或其他某个位置)中,您需要创建一个控制器来为其提供服务。例如:
import os
def serve_ra_file():
return response.stream(os.path.join(request.folder, 'ra.txt'), attachment=True)
而 link 将是:
<a href="{{=URL('default', 'serve_ra_file')}}" download>Download ra.txt</a>