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

How to set Image source as Input File using 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"> 对我不起作用,因为它不显示 window 到 select 图片。
当我打开控制台时,它显示

Failed to load resource:
net::ERR_UNKNOWN_URL_SCHEME

您可以使用 FileReader 将输入读取为 dataURL,然后将 url 附加为 image src

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>