很常用的功能,理论也很简单,用post的形式将二进制图片上传到接口,接口接收成功后返回字符串url图片路径
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/frame.css" />
<link rel="stylesheet" href="css/index.css" />
</head>
<script src="./js/jquery-3.7.0.js"></script>
<body>
<div class="blockForm">
<form id="form1">
<label for="image">
<img src="img/提交.png" class="blockImg"/>
</label>
<input id="image" name="image" type="file" style="display: none;" onchange="changeImg(this)" />
</form>
</div>
<script>
function changeImg(e) {
var formData = new FormData();
formData.append("file", $("#image")[0].files[0]);
$.ajax({
url: *接口地址*,
type: 'POST',
data: formData,
dataType: 'json',
cache: false,
processData: false, //不要处理发送的数据
contentType: false, //不要添加请求头
success: function(data) {
console.log(data);
$('.blockImg').attr("src", data.url) //上传图片预览
},
error: function(data) {
console.log(data);
}
});
}
</script>
</body>
</html>
如果是批量上传图片,只需对formData.append执行for循环即可。
效果展示: