[英]How to get value of input type = file and display it on a dynamically created image?
我有以下代码:
function displayImg() { let fileUpload = document.getElementById("fileUpload").value; let container document.getElementById("container"); container.innerHTML = `<img src="fileUpload">` }
<input type = file id = "fileUpload" accept = "image/*"> <button onclick = "displayImg()">Click to show</button> <div id="container"></div>
我想要它,以便用户可以将文件输入到文件输入字段中,并在单击按钮时将其放置到动态创建的图像的源中。 我该怎么做呢?
你可以试试这个
<html>
<body>
<input type = file id = "fileUpload" accept = "image/*">
<button onclick = "displayImg()">Click to show</button>
<div id="container">
<img id="img"></div>
<script>
function displayImg() {
let fileUpload = document.getElementById("fileUpload").value;
//alert(fileUpload);
let image = document.getElementById("img");
img.src = fileUpload;
}
</script>
</body>
</html>
注意: value
属性只返回文件的名称,因此图像应该与代码位于同一文件夹中。或者如果您愿意,您可以在前面添加文件的路径。
请使用以下代码:
var uploadedFileURL; function handleFile() { var fileUploadControl = document.getElementById('fileUpload'); var file = fileUploadControl.files[0]; if (file) { var reader = new FileReader(); reader.onload = function() { uploadedFileURL = reader.result; }; reader.readAsDataURL(file); } } function displayImg() { var fileUpload = document.getElementById("fileUpload").value; var container = document.getElementById("container"); container.innerHTML = `<img src="${uploadedFileURL}">`; }
<input id="fileUpload" type="file" onchange="handleFile()" accept="image/*" /> <button onclick="displayImg()">Click to show</button> <div id="container"></div>
这是一个解决方案:
<input type="file" id="fileUpload" accept="image/*">
<button onclick="displayImg()">Click to show</button>
<div id="container">
<img id="img"></img>
</div>
<script>
let displayImg = () => {
let reader = new FileReader();
let input = document.getElementById('fileUpload');
reader.onload = () => {
let img = document.getElementById('img');
img.src = reader.result;
};
reader.readAsDataURL(input.files[0]);
};
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.