gpt4 book ai didi

python - Flask 文件写入权限

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:53 25 4
gpt4 key购买 nike

我在 EC2 Ubuntu 实例上运行 Flask 网络服务器。目的是捕获传入 POST 的正文,将其写入本地文件,然后将该文件上传到 S3。

代码基本上是:

@app.route('/', methods=['GET','POST'])
@app.route('/index.html', methods=['GET','POST'])
def index_home():
data = request.data
with open('test.json', 'w') as f:
f.write(data)
## Upload the stuff to S3

当我在本地 Flask 网络服务器实例上运行它并从 Postman 发送带有 json 正文的 POST 时,它运行良好。但是在 EC2 实例上,我在“test.json”文件上遇到权限错误(根据 apache error.log),这会导致页面加载出现 500 错误。

我搜索了 Google 和 Stackoverflow(Here is a similar question,没有解决方案),但无济于事。这似乎是一个简单的问题,但我已经尝试了所有方法但似乎无法让它工作:我已经将我的用户添加到 www-data 组,我已经更改了/var/www 文件夹和文件权限对于我能想到的 root、ubuntu(默认的 EC2 Ubuntu 用户)和 www-data 的每一个组合,我直接将目录设为 777...似乎没有任何效果。

显然,我是个新手。是否有配置文件或需要调整才能使其正常工作的东西?

最佳答案

您应该确保该程序实际上正在尝试写入您希望它写入的目录。可能是它试图写入 Python 二进制文件(或其他任何东西)的目录,这取决于您的命令和当前工作目录。出于测试目的,您可能会尝试像这样更改路径(确保/tmp 对用户来说是可写的,这应该是这种情况):

with open('/tmp/test.json', 'w') as f:
f.write(data)

关于python - Flask 文件写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com