写一个html,一个按键功能用于上传图片,一个按键用于下载图片
时间: 2024-10-01 09:13:03 浏览: 19
美化File控件-图片按键上传文件
要在HTML中创建一个简单的图片上传和下载功能,可以使用HTML5的`input type="file"`元素以及JavaScript来处理上传。以下是一个基础的例子:
**index.html**
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>图片上传与下载</title>
</head>
<body>
<h2>图片上传区</h2>
<input type="file" id="uploadImageBtn" accept="image/*" multiple onchange="handleFiles(this)">
<br><br>
<button onclick="downloadImages()">下载所有上传的图片</button>
<div id="uploadDiv"></div> <!-- 显示上传进度 -->
<script>
function handleFiles(inputElement) {
const files = inputElement.files;
if (files.length > 0) {
for (let i = 0; i < files.length; i++) {
const reader = new FileReader();
reader.onload = function(e) {
const img = document.createElement("img");
img.src = e.target.result;
img.id = 'uploadedImage' + i;
document.getElementById('uploadDiv').appendChild(img);
};
reader.readAsDataURL(files[i]);
}
} else {
alert('没有选择图片');
}
}
function downloadImages() {
const images = document.querySelectorAll('#uploadedImage');
let downloadLink = document.createElement('a');
downloadLink.href = '';
downloadLink.download = 'all_images.zip';
downloadLink.style.display = 'none'; // 隐藏链接
for (const img of images) {
downloadLink.href = img.src;
img.parentNode.replaceChild(downloadLink, img); // 替换为下载链接
downloadLink.click(); // 触发点击事件下载图片
downloadLink.remove(); // 下载完成后移除链接
}
}
</script>
</body>
</html>
```
在这个示例中,用户可以选择图片,它们会被读取并显示为缩略图。当点击“下载所有上传的图片”按钮时,会生成一个包含所有图片的zip文件。
请注意,这个例子在浏览器环境中运行,实际项目中可能会需要服务器支持才能真正实现文件下载。另外,JavaScript的`FileReader` API只能在用户的本地环境操作文件,对于真正的文件下载,通常需要配合后端服务器处理。
阅读全文