У меня есть простое приложение для загрузки файлов из флакона Python в облачном движке Google.
При работе в режиме предварительного просмотра разработки через
dev_appserver.py ./app.yaml
Работает нормально.При запуске в качестве развернутого производственного приложения через
gcloud app deploy ./app.yaml --project PROJECTNAME
Он работает нормально, но при загрузке файла в эту форму я получаю следующую ошибку:
FileNotFoundError: [Errno 2] No such file or directory: '/home/USERNAME/python-docs-samples/appengine/standard_python37/hello_world/images/3d9c4a10a31c46e8a4166eddf659f4d7.jpg'
at save (/env/lib/python3.7/site-packages/werkzeug/datastructures.py:2725)
at upload_file (/srv/main.py:34)
Каталог существует, имеет оченьоткрыть разрешения, и загрузка работает в режиме предварительного просмотра, но просто не в производстве.
from flask import Flask, render_template, request
from werkzeug import secure_filename
import uuid
import logging
unique_filename = str(uuid.uuid4().hex)
import os
app = Flask(__name__)
UPLOAD_FOLDER = '/home/USERNAME/python-docs-samples/appengine/standard_python37/hello_world/images'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
@app.route('/upload', methods = ['GET', 'POST'])
def upload_file():
if request.method == 'POST':
f = request.files['file']
fullfilename = (unique_filename + os.path.splitext(f.filename)[1])
f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(fullfilename)))
# f.save(secure_filename(f.filename))
return 'file uploaded successfully'