MCH*_*MCH 2 python apache file-upload file flask
在客户端,我通过 post from 发送图像form enctype=multipart/form-data
,在服务器端,我将其保存到目录中。所有这些都在我的计算机上本地运行,并直接使用python app.py
.
这是我设置文件保存的参考:
http://flask.pocoo.org/docs/patterns/fileuploads/
在实际的生产服务器上,我使用 Apache 和 mod_wsgi 运行它,我根据这个网站设置:
http://flask.pocoo.org/docs/deploying/mod_wsgi/
对于目录的权限我曾尝试chown -R 777
和chown -R www-data:www-data
其中对于用户看起来相关的Apache这样的代码:WSGIDaemonProcess app user=www-data group=www-data threads=5
。
但是,在这一切之后,我仍然无法保存文件。我只是在尝试保存文件时收到 500 HTTP 错误。
这是相关的烧瓶代码:
UPLOAD_FOLDER = '/images/'
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
@app.route('/upload_ocr_images', methods=['GET', 'POST'])
def upload_images():
if request.method == 'POST':
files = request.files.getlist("images[]")
for file in files:
if allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('home'))
Run Code Online (Sandbox Code Playgroud)
在这一点上,我想知道是否需要在 Apache 方面设置一些东西。
/uploads
您正在使用作为您的路径。这意味着您正在尝试上传到以/uploads
文件系统的根级别命名的目录。
这通常是错误的,通常是错误。
如果您的 Flask 应用程序文件结构下有该uploads
文件夹,那么您应该使用它来创建包含绝对应用程序路径的路径。app.root_path
就像是
file.save(os.path.join(app.root_path, '/uploads', filename))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2321 次 |
最近记录: |