点击上传图片通常涉及到前端JavaScript与HTML的结合使用,以及后端处理上传的逻辑。前端主要负责用户界面的交互和图片的选择,后端则负责接收图片并保存到服务器。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片上传</title>
</head>
<body>
<input type="file" id="fileInput" accept="image/*" multiple>
<button id="uploadButton">上传图片</button>
<div id="preview"></div>
<script src="script.js"></script>
</body>
</html>document.getElementById('uploadButton').addEventListener('click', function() {
document.getElementById('fileInput').click();
});
document.getElementById('fileInput').addEventListener('change', function(event) {
const files = event.target.files;
const preview = document.getElementById('preview');
preview.innerHTML = ''; // 清空之前的预览
for (let i = 0; i < files.length; i++) {
const file = files[i];
if (file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = (function(file) {
return function(e) {
const img = document.createElement('img');
img.src = e.target.result;
img.alt = file.name;
img.style.width = '100px'; // 设置预览图片的大小
preview.appendChild(img);
};
})(file);
reader.readAsDataURL(file);
}
}
});const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, 'uploads/');
},
filename: function(req, file, cb) {
cb(null, Date.now() + path.extname(file.originalname)); // 使用时间戳避免文件名冲突
}
});
const upload = multer({ storage: storage });
app.post('/upload', upload.array('images'), (req, res) => {
res.send('Files uploaded successfully');
});
app.listen(3000, () => console.log('Server started on port 3000'));multer的配置来限制上传文件的大小。multer的配置来限制上传文件的大小。通过上述步骤和代码示例,可以实现一个基本的图片上传功能,并处理一些常见问题。
没有搜到相关的文章