当然可以。下面是一个简单的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 and Delete Example</title>
</head>
<body>
<!-- 图片上传 -->
<form id="imageUploadForm" enctype="multipart/form-data">
<input type="file" id="imageInput" name="image" accept="image/*">
<input type="button" value="上传图片" onclick="uploadImage()">
</form>
<!-- 显示图片的区域 -->
<div id="imageArea">
<!-- 图片会显示在这里 -->
</div>
<script>
// 上传图片的函数
function uploadImage() {
var fileInput = document.getElementById('imageInput');
var file = fileInput.files[0]; // 获取选定的文件
var formData = new FormData(); // 创建表单数据对象
formData.append('image', file); // 添加文件到表单数据
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true); // 设置请求类型和URL
xhr.onload = function () {
if (xhr.status === 200) {
// 请求成功,处理响应内容
var imageUrl = this.responseText;
var imgElement = document.createElement('img');
imgElement.src = imageUrl;
imgElement.id = 'uploadedImage';
document.getElementById('imageArea').appendChild(imgElement);
} else {
// 错误处理
alert('图片上传失败');
}
};
xhr.send(formData); // 发送请求
}
// 删除图片的函数
function deleteImage(imageId) {
var imgElement = document.getElementById(imageId);
imgElement.parentNode.removeChild(imgElement);
}
</script>
</body>
</html>
在这个例子中,我们使用了<input type="file">
来允许用户选择图片文件,然后使用FormData
对象将文件发送到服务器端的/upload
路由(请替换为你的实际上传路径)。服务器端需要处理这个POST请求并返回图片的URL。
同时,为了演示如何删除图片,我们在<script>
部分加入了一个deleteImage
函数,该函数会根据图片的ID移除该图片元素。
请注意,这段代码假设你有一个后端服务可以接收文件并处理图片上传。如果你没有后端服务,那么这段代码将无法正常工作,因为XMLHttpRequest
需要一个服务器地址来发送请求。如果你需要一个简单的后端示例,请告知我,我可以提供一个简单的Node.js后端处理图片上传的例子。