gpt4 book ai didi

Python Flask 将文件上传到服务器上的应用程序文件夹(heroku)

转载 作者:行者123 更新时间:2023-12-05 07:42:10 27 4
gpt4 key购买 nike

我需要将图像文件上传到某个文件夹。它在本地主机上运行良好,但如果我将应用程序推送到 heroku,它会告诉我:

IOError: [Errno 2] No such file or directory: 'static/userimg/1-bild-1.jpg'

这意味着找不到文件夹?

我需要将图像文件存储几秒钟以对主题执行一些操作。之后,它们将被发送到 AWS 并从文件夹中删除。

这就是我将图像保存到文件夹中的代码:

i = 1
for key, file in request.files.iteritems():
if file:
filename = secure_filename(str(current_user.id) + "-bild-"+ str(i) +".jpg")
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
i = i + 1

后来我从这样的文件夹中获取文件:

for item in os.listdir(os.path.join(app.config['UPLOAD_FOLDER'])):
if item.startswith(str(current_user.id)) and item.split(".")[0].endswith("1"):
with open(os.path.join(app.config['UPLOAD_FOLDER'], item), "rb") as thefile:
data = base64.b64encode(thefile.read())
upload_image_to_aws_from_image_v3('MYBUCKET', "userimg/", data, new_zimmer, "hauptbild", new_zimmer.stadt, new_zimmer.id)
os.remove(str(thefile.name))

也就是app config中的upload文件夹:

UPLOAD_FOLDER = "static/userimg/"

在本地主机上一切正常。

最佳答案

我必须添加目录的绝对路径,因为服务器上的路径不同。

您可以通过 CLI 为您的应用程序运行 heroku run bash 并使用 dir 检查目录。然后使用 cd .. 返回或使用 cd *directory name* 进入目录。

我必须添加

MYDIR = os.path.dirname(__file__)

并全部替换

os.path.join(app.config['UPLOAD_FOLDER']

os.path.join(MYDIR + "/" + app.config['UPLOAD_FOLDER']

有关该主题的一些信息也在这里: Similar question

关于Python Flask 将文件上传到服务器上的应用程序文件夹(heroku),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44718433/

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