如何将图像源设置为使用JavaScript的输入文件?



所以我想使用JavaScript设置<img src="">属性,但源将是一个输入元素值。

<img src="" id="userImage" onclick="changeImage()">
<input type="file" id="imageInput">
function changeImage() {
var userImage = document.getElementById("imageInput").value;
document.getElementById("userImage").src = userImage;
}

注意:<input type="image">不为我工作,因为它不显示窗口选择图像。
打开控制台,显示

Failed to load resource:
net::ERR_UNKNOWN_URL_SCHEME

您可以使用FileReader作为dataURL读取输入,然后将该url附加为imagesrc

function read(val) {
const reader = new FileReader();
reader.onload = (event) => {
document.getElementById("divOutput").src = event.target.result;
}
reader.readAsDataURL(val.files[0]);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File uploader</title>
<script src="./script.js" defer></script>
</head>
<body>
<h1>My file uploader</h1>
<input type='file' id='userImage' onchange = "read(this)">
<img id='divOutput'></div>

</body>
</html>

最新更新