前端是VUE,用python编写一个接口来从前端获取多个文件并保存到本地文件夹的代码
时间: 2023-06-24 10:08:07 浏览: 68
假设前端通过POST请求发送文件给后端,后端使用Python来接收这些文件并保存到本地文件夹中。以下是示例代码:
前端代码:
```html
<template>
<div>
<input type="file" multiple @change="handleFileUpload">
<button @click="uploadFiles">上传</button>
</div>
</template>
<script>
export default {
data() {
return {
files: []
}
},
methods: {
handleFileUpload(event) {
this.files = event.target.files;
},
async uploadFiles() {
const formData = new FormData();
for (let i = 0; i < this.files.length; i++) {
formData.append('files[]', this.files[i]);
}
await this.$axios.post('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
alert('上传成功');
}
}
}
</script>
```
后端代码:
```python
from flask import Flask, request
import os
app = Flask(__name__)
@app.route('/api/upload', methods=['POST'])
def upload():
# 检查是否有文件上传
if 'files[]' not in request.files:
return '没有文件上传'
# 获取上传的文件
files = request.files.getlist('files[]')
# 保存到本地文件夹
save_dir = 'uploads'
if not os.path.exists(save_dir):
os.makedirs(save_dir)
for file in files:
file.save(os.path.join(save_dir, file.filename))
return '文件上传成功'
if __name__ == '__main__':
app.run()
```
以上代码使用Flask作为后端框架,接收POST请求并将上传的文件保存到本地文件夹中。注意,如果文件夹不存在,则会自动创建。你需要根据自己的实际情况修改代码中的路由和保存文件的路径。
阅读全文