python 写一个图片上传功能 用于图片服务器
时间: 2023-08-04 19:21:38 浏览: 71
好的,我可以为您提供一个基于 Flask 的图片上传功能的示例代码。首先,您需要安装 Flask 和 Flask-Uploads 两个 Python 包。
安装完毕后,您可以使用以下代码创建一个简单的图片上传应用:
```python
from flask import Flask, render_template, request
from flask_uploads import UploadSet, configure_uploads, IMAGES
app = Flask(__name__)
# 配置上传文件的存储目录和允许上传的文件类型
app.config['UPLOADED_PHOTOS_DEST'] = 'uploads'
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
# 从请求中获取上传的文件
file = request.files['photo']
# 保存文件到本地
filename = photos.save(file)
# 返回上传后的文件名
return filename
if __name__ == '__main__':
app.run(debug=True)
```
其中,`/upload` 路由处理图片上传请求,`request.files['photo']` 获取上传的图片文件,`photos.save(file)` 将图片保存到指定的目录中,并返回图片文件名。
您可以在 `templates/index.html` 文件中添加一个表单,用于上传图片:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图片上传</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<button type="submit">上传图片</button>
</form>
</body>
</html>
```
最后,运行应用并访问 `http://localhost:5000` 即可上传图片。上传后的图片将保存在 `uploads` 目录下。
阅读全文