【ElementUI如何上传文件夹】
ElementUI 的 <el-upload>
组件可以用来上传文件或文件夹,但是需要后端支持接收文件夹。
前端代码示例:
<template>
<el-upload
action="http://your-backend-endpoint/upload"
:on-success="handleSuccess"
:on-error="handleError"
:file-list="fileList"
multiple
drag
with-credentials
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleSuccess(response, file, fileList) {
// 成功处理逻辑
console.log('Upload success:', response, file, fileList);
},
handleError(err, file, fileList) {
// 错误处理逻辑
console.error('Upload failed:', err, file, fileList);
}
}
};
</script>
后端需要支持接收多个文件,并且处理好文件夹的递归上传。
后端示例(以 Node.js 的 Express 框架为例):
const express = require('express');
const multer = require('multer');
const upload = multer({ dest: 'uploads/' }); // 设置上传文件存储的目录
const app = express();
app.post('/upload', upload.array('file'), (req, res) => {
// 这里可以处理文件数组,保存文件到服务器等
res.json({ success: true });
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
请注意,上面的后端代码仅作为示例,实际应用中需要进行错误处理、安全性检查(如验证是否为合法的多文件上传)、文件存储策略等。
评论已关闭