使用 flask 和 html 上传 jpg
Upload jpg with flask and html
我是初学者,我正在用 flask 和 html 创建博客,但它只能 post 标题和内容,但我想 post 一些图片初始化,所以如果有人知道 post 它的散文家方法是什么(在 flask 应用程序上打印图片)并且可以存储在 db 文件中,你能帮帮我吗?因为我在这个问题上卡了这么久。
如果你使用flask表单上传文件,那么from flask_wtf.file import FileField
可以作为表单域来上传文件。
class UploadImageForm(Form):
file = FileField(label='File Upload')
submit = SubmitField('Submit')
在 HTML 方面,您需要:
<form action="{{ url_for(your.route, **kwargs) }}" method="POST" enctype = "multipart/form-data">
{{ form.name_of_file_field }}
{{ form.submit }} <!-- Or an input tag -->
</form>
那么在提交表单时调用的路由必须需要一个 POST 方法。在开发中,您可以将文件本地存储在静态文件夹中,但我建议在将应用程序放到服务器上之前将它们存储在远程存储中。
文件存储并上传后,您可以在 html 中渲染图像:
<img class="image" src="{{ url_for('static', filename=image_file_path) }}">
其中 image_file_path 是图像的路径。此路径应存储为环境变量。图像文件名可以作为字符串存储在模型数据列之一的数据库中。我建议创建 UUID 作为图像文件名,这样你就不会依赖于用户的上传(即如果文件名是不同的语言)。
Miguel Grinberg 有一个很棒的教程,涵盖了所有这些内容以及更多内容,包括使用图像对象、图像验证和安全性:https://blog.miguelgrinberg.com/post/handling-file-uploads-with-flask
我是初学者,我正在用 flask 和 html 创建博客,但它只能 post 标题和内容,但我想 post 一些图片初始化,所以如果有人知道 post 它的散文家方法是什么(在 flask 应用程序上打印图片)并且可以存储在 db 文件中,你能帮帮我吗?因为我在这个问题上卡了这么久。
如果你使用flask表单上传文件,那么from flask_wtf.file import FileField
可以作为表单域来上传文件。
class UploadImageForm(Form):
file = FileField(label='File Upload')
submit = SubmitField('Submit')
在 HTML 方面,您需要:
<form action="{{ url_for(your.route, **kwargs) }}" method="POST" enctype = "multipart/form-data">
{{ form.name_of_file_field }}
{{ form.submit }} <!-- Or an input tag -->
</form>
那么在提交表单时调用的路由必须需要一个 POST 方法。在开发中,您可以将文件本地存储在静态文件夹中,但我建议在将应用程序放到服务器上之前将它们存储在远程存储中。
文件存储并上传后,您可以在 html 中渲染图像:
<img class="image" src="{{ url_for('static', filename=image_file_path) }}">
其中 image_file_path 是图像的路径。此路径应存储为环境变量。图像文件名可以作为字符串存储在模型数据列之一的数据库中。我建议创建 UUID 作为图像文件名,这样你就不会依赖于用户的上传(即如果文件名是不同的语言)。
Miguel Grinberg 有一个很棒的教程,涵盖了所有这些内容以及更多内容,包括使用图像对象、图像验证和安全性:https://blog.miguelgrinberg.com/post/handling-file-uploads-with-flask