猿问

从运行在 Docker 容器中的 Flask 应用程序下载文件

我正在制作一个在 Docker 容器中运行的 Flask 应用程序。到目前为止一切正常,但现在我想创建一个 GET 方法,它应该返回一个要由用户下载的文件。为此,我尝试了 Flask 函数send_file和send_from_directory. 当我按原样运行我的应用程序时,它们都可以工作,但是一旦我将它放入 Docker 容器中,事情就会停止工作。


如果我使用send_file,我会收到一个file not found错误,尽管我可以print(os.path.isfile)使用相同的文件路径调用,它会显示出来。


如果我send_from_directory使用了正确的路径和文件名,则会收到 404 错误。


同样,这仅适用于从 Docker 容器运行时。会不会是权限问题?


方法示例:


class DownloadLog(Resource):

    def get(self):

        print(os.path.isfile('logfile.log')  # Returns 'True'

        return send_from_directory('.', 'logfile.log')


梵蒂冈之花
浏览 228回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答