在Web开发中,JavaScript(JS)批量选择上传是指允许用户通过一次操作选择多个文件,并将这些文件上传到服务器的功能。以下是关于这个功能的基础概念、优势、类型、应用场景以及可能遇到的问题和解决方案的详细解释:
formdata-polyfill
)来兼容旧版浏览器。XMLHttpRequest
的progress
事件或Fetch API的ReadableStream
来显示上传进度。以下是一个简单的批量文件上传示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Batch Upload</title>
</head>
<body>
<input type="file" id="fileInput" multiple>
<button onclick="uploadFiles()">Upload</button>
<script>
function uploadFiles() {
const files = document.getElementById('fileInput').files;
const formData = new FormData();
for (let i = 0; i < files.length; i++) {
formData.append('files[]', files[i]);
}
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
}
</script>
</body>
</html>
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' });
app.post('/upload', upload.array('files[]'), (req, res) => {
console.log(req.files);
res.json({ message: 'Files uploaded successfully' });
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
这个示例展示了如何使用JavaScript和Node.js实现批量文件上传。前端使用<input type="file" multiple>
来允许用户选择多个文件,后端使用multer
中间件来处理文件上传。
领取专属 10元无门槛券
手把手带您无忧上云