flask上传文件到忙哦db的前后端写法
时间: 2023-05-24 12:07:08 浏览: 103
前端写法:
1. 创建一个表单:
```
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
```
2. 使用 JavaScript 发送表单:
```
<script>
var form = document.querySelector('form');
var input = document.querySelector('input[type="file"]');
form.addEventListener('submit', function(e) {
e.preventDefault();
var file = input.files[0];
var formData = new FormData();
formData.append('file', file);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload');
xhr.send(formData);
});
</script>
```
后端写法:
1. 导入 Flask 和 werkzeug.utils 中的 secure_filename 函数:
```
from flask import Flask, request
from werkzeug.utils import secure_filename
```
2. 创建一个 Flask 应用:
```
app = Flask(__name__)
```
3. 创建一个视图函数来处理文件上传的请求:
```
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return '上传成功'
```
其中,`secure_filename` 函数可以确保文件名是安全的,不包含任何特殊字符,防止文件名注入攻击。
最后,通过 `app.config['UPLOAD_FOLDER']` 来指定上传文件保存的目录,例如:
```
app.config['UPLOAD_FOLDER'] = '/path/to/uploads'
```
阅读全文