当然,以下是一个简单的JavaScript文件上传示例代码,使用了HTML和JavaScript来实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload Example</title>
</head>
<body>
<h1>Upload a File</h1>
<input type="file" id="fileInput">
<button onclick="uploadFile()">Upload</button>
<div id="uploadStatus"></div>
<script src="upload.js"></script>
</body>
</html>
function uploadFile() {
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
const uploadStatus = document.getElementById('uploadStatus');
if (!file) {
uploadStatus.innerText = 'No file selected.';
return;
}
const formData = new FormData();
formData.append('file', file);
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
uploadStatus.innerText = `File uploaded successfully: ${data.filename}`;
})
.catch(error => {
uploadStatus.innerText = `Error uploading file: ${error.message}`;
});
}
假设你使用的是Node.js和Express来处理文件上传:
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' });
app.post('/upload', upload.single('file'), (req, res) => {
if (!req.file) {
return res.status(400).json({ message: 'No file uploaded.' });
}
res.json({ filename: req.file.filename });
});
app.listen(3000, () => {
console.log('Server started on http://localhost:3000');
});
FormData
对象,并将文件添加到其中。fetch
API发送POST请求到服务器。fetch
API在现代浏览器中广泛支持。希望这个示例能帮助你理解文件上传的基本概念和实现方法。如果有更多具体问题,请随时提问!
领取专属 10元无门槛券
手把手带您无忧上云