首先,我们需要创建一个包含用于显示图片预览和文件输入的 HTML 页面。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Image Upload</title><link rel="stylesheet" href="styles.css">
</head>
<body><h1>Image Upload</h1><input type="file" id="file-input" /><img id="image-preview" src="" alt="Image Preview" style="display: none;" /><button id="upload-btn">Upload Image</button><script src="scripts.js"></script>
</body>
</html>
添加 CSS 样式
接下来,我们为页面添加一些基本的样式。创建一个名为 styles.css
的文件,并添加以下内容:
body {font-family: Arial, sans-serif;text-align: center;
}img {max-width: 100%;
}button {background-color: #4CAF50;border: none;color: white;padding: 15px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 16px;margin: 4px 2px;cursor: pointer;
}
编写 JavaScript 代码
现在我们已经准备好编写 JavaScript 代码来实现图片上传功能。首先创建一个名为 scripts.js
的文件,然后添加以下代码:
document.getElementById('file-input').addEventListener('change', function (event) {const file = event.target.files[0];if (file && file.type.match('image.*')) {const reader = new FileReader();reader.onload = function (e) {document.getElementById('image-preview').style.display = 'block';document.getElementById('image-preview').src = e.target.result;};reader.readAsDataURL(file);} else {alert('Please select a valid image file.');}
});document.getElementById('upload-btn').addEventListener('click', function () {const fileInput = document.getElementById('file-input');const file = fileInput.files[0];const formData = new FormData();formData.append('image', file);fetch('https://yourserver.com/upload', {method: 'POST',body: formData,}).then(response => response.json()).then(data => {console.log('Success:', data);alert('Image uploaded successfully.');}).catch((error) => {console.error('Error:', error);alert('Error uploading the image.');});
});
请注意,你需要将把网址 替换为你自己的服务器端 API,用于处理图片上传。
现在,当用户选择一张图片时,它将显示在页面上作为预览。点击 "Upload Image" 按钮后,图片将被发送到服务器。