帮我写一个简单文件管理系统后端
时间: 2023-08-28 21:38:17 浏览: 80
好的,下面给您提供一个简单的文件管理系统后端示例代码,使用Python语言和Flask框架实现:
```python
from flask import Flask, request, jsonify
import os
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
if file:
filename = file.filename
file.save(os.path.join('uploads', filename))
return jsonify({'message': 'File uploaded successfully.'}), 200
else:
return jsonify({'message': 'No file selected.'}), 400
@app.route('/download/<filename>', methods=['GET'])
def download_file(filename):
if os.path.isfile(os.path.join('uploads', filename)):
return send_file(os.path.join('uploads', filename), as_attachment=True), 200
else:
return jsonify({'message': 'File not found.'}), 404
@app.route('/list', methods=['GET'])
def list_files():
files = os.listdir('uploads')
return jsonify({'files': files}), 200
if __name__ == '__main__':
app.run(debug=True)
```
说明:
1. `/upload` 路由用于上传文件,接收POST请求,从请求中提取文件并保存到指定目录中。如果上传成功,返回HTTP状态码200和成功信息,否则返回HTTP状态码400和失败信息。
2. `/download/<filename>` 路由用于下载指定文件,接收GET请求,从请求中提取文件名并在指定目录中查找文件。如果找到文件,返回文件内容及HTTP状态码200,否则返回HTTP状态码404和失败信息。
3. `/list` 路由用于列出指定目录中的所有文件,接收GET请求,返回HTTP状态码200和文件列表。
请注意,这只是一个简单的文件管理系统后端示例代码,具体实现和功能可以根据需求进行修改和扩展。同时,为了安全起见,您需要在实际应用中添加必要的身份验证和授权机制。
阅读全文