生成一个漂亮的上传图片识别植物的前端代码
时间: 2024-11-27 13:20:57 浏览: 15
在创建一个用于上传图片并识别植物的前端代码时,我们可以使用HTML、CSS以及JavaScript的基础框架,如React或Vue.js,配合一款图像识别API(如阿里云的PlantCV API)。以下是一个简单的前端代码示例,使用了HTML5的FileReader API处理文件上传,并发送请求到后端进行植物识别:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>上传识别植物</title>
<style>
#upload-image {
margin-bottom: 20px;
}
.progress-bar {
width: 100%;
height: 20px;
background-color: lightgray;
border-radius: 4px;
}
</style>
</head>
<body>
<div>
<input type="file" id="upload-image" accept="image/*" />
<button onclick="sendImage()">上传并识别</button>
</div>
<div class="progress-bar"></div>
<p id="result"></p>
<script>
function sendImage() {
const fileInput = document.getElementById('upload-image');
const file = fileInput.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = (event) => {
const formData = new FormData();
formData.append('image', event.target.result);
fetch('/api/identify_plant', {
method: 'POST',
body: formData,
headers: { 'Content-Type': 'multipart/form-data' },
})
.then(response => response.json())
.then(data => {
updateProgress(data.progress);
document.getElementById('result').textContent = `识别结果: ${data.plantName}`;
})
.catch(error => console.error('Error:', error));
};
reader.readAsDataURL(file);
}
function updateProgress(progress) {
const progressBar = document.querySelector('.progress-bar');
progressBar.style.width = `${progress}%`;
}
</script>
</body>
</html>
```
这个示例展示了基本的用户界面,用户选择图片后点击“上传并识别”,然后前端会读取图片数据并发送到`/api/identify_plant`这个假设的后端API地址。识别过程中的进度更新则通过`updateProgress`函数在`.progress-bar`元素上显示。
阅读全文