在JavaScript中实现原生图片上传主要涉及到HTML的<input type="file">
元素与JavaScript的File API。以下是关于图片上传的基础概念、优势、类型、应用场景以及可能遇到的问题和解决方案:
<input type="file">
: HTML元素,允许用户从本地计算机选择一个或多个文件。以下是一个简单的图片上传示例,包括预览和上传功能:
<input type="file" id="imageUpload" accept="image/*">
<img id="preview" src="" alt="Image Preview" style="max-width: 300px; display: none;">
<button id="uploadButton">上传图片</button>
<script>
document.getElementById('imageUpload').addEventListener('change', function(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = function(e) {
document.getElementById('preview').src = e.target.result;
document.getElementById('preview').style.display = 'block';
};
reader.readAsDataURL(file);
});
document.getElementById('uploadButton').addEventListener('click', function() {
const fileInput = document.getElementById('imageUpload');
const file = fileInput.files[0];
if (file) {
const formData = new FormData();
formData.append('image', file);
fetch('/upload', { // 假设'/upload'是服务器上的上传接口
method: 'POST',
body: formData
}).then(response => response.json())
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
}
});
</script>
领取专属 10元无门槛券
手把手带您无忧上云