本人最近在使用python的flask实现文件下载,但是却遇到如下的错误提示:
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again。
经过实践与研究,最终找到了错误的根源及找到了解决问题的办法。
原来的代码是这样的:
try:
return send_from_directory('./', "TempPaper.docx")
except Exception as e:
print('响应下载试卷异常:',e)
return '下载异常'
上述的代码,在调试模式下运行,居然没有任何问题,能够正常的下载。但是,导出为EXE脱离开发环境之后,就提示如题的错误信息了。
后来改为如下代码即成功。
try:
return send_from_directory(os.getcwd(), "TempPaper.docx")
except Exception as e:
print('响应下载试卷异常:',e)
return '下载异常'
原因分析:
os.getcwd()返回的是绝对路径,必须使用绝对路径,如D:\MyPythonProject\AddExam\AddExam,而不能使用相对路径 ./ ,所以,问题就这样被解决了。