Python图片上传并保存到服务器

在日常生活中,我们经常需要上传图片到服务器,以便在网站上展示或与他人分享。Python作为一种功能强大的编程语言,提供了许多库和工具,可以轻松实现图片上传并保存到服务器的功能。

图片上传

首先,我们需要创建一个简单的HTML表单,用于选择要上传的图片文件。代码如下:

<form action="/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="Upload">
</form>

接下来,我们使用Flask框架来处理上传的图片文件。代码如下:

from flask import Flask, request, redirect, url_for
from werkzeug.utils import secure_filename
import os

app = Flask(__name__)

app.config['UPLOAD_FOLDER'] = 'uploads/'

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in {'jpg', 'jpeg', 'png', 'gif'}

@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return redirect(request.url)

    file = request.files['file']

    if file.filename == '':
        return redirect(request.url)

    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        return 'File uploaded successfully'

    return 'Invalid file format'

if __name__ == '__main__':
    app.run()

图片保存

在上面的代码中,我们定义了一个UPLOAD_FOLDER变量来指定图片上传的路径。Flask框架通过request.files获取上传的文件,然后使用file.save方法保存到服务器上的指定路径中。

当用户上传图片后,可以在服务器上的uploads文件夹中找到图片文件。

旅行图

journey
    title 图片上传并保存到服务器
    section 选择图片
        UploadForm-->|选择图片文件|Flask
    section 上传图片
        Flask-->|保存图片|Server

序列图

sequenceDiagram
    participant User
    participant Flask
    participant Server
    User->>Flask: 上传图片
    Flask->>Server: 保存图片
    Server-->>Flask: 返回上传成功
    Flask-->>User: 显示上传成功信息

通过以上代码示例和说明,我们可以轻松实现图片上传并保存到服务器的功能。这为我们在网站开发和数据管理中提供了便利,也为用户提供了更好的体验。

无论是用于图片分享、展示还是数据备份,图片上传和保存功能都是非常重要的,希木以上内容对你有所帮助。