javascript - 如何在不向服务器发送数据的情况下显示选定的图像?

标签 javascript html file-io

我正在尝试向客户展示他选择的图像:

<input type="file" onchange="showImage(this)"/>

但我无法读取输入的值,因为我检查了 here .是否可以显示图片?

onchange 中,我可以将表单发送到服务器,服务器可以将数据发回,但这真的有必要吗?没有ping-pong到服务器,客户端不能显示数据吗?是安全问题吗?

最佳答案

您可以使用 FileReader web-api 对象,请参阅此代码段:

HTML

<input id="src" type="file"/> <!-- input you want to read from (src) -->
<img id="target"/> <!-- image you want to display it (target) -->

javascript

function showImage(src,target) {
  var fr=new FileReader();
  // when image is loaded, set the src of the image where you want to display it
  fr.onload = function(e) { target.src = this.result; };
  src.addEventListener("change",function() {
    // fill fr with image data    
    fr.readAsDataURL(src.files[0]);
  });
}

var src = document.getElementById("src");
var target = document.getElementById("target");
showImage(src,target);

关于javascript - 如何在不向服务器发送数据的情况下显示选定的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138244/

相关文章:

python - 文件中的词频计数器

javascript - 如何使用 Angular 将 firebase 数据绑定(bind)到 fullCalendar

Javascript If-else 语句

c# - 快速访问文件中的 key (无需将整个文件加载到内存中)

html - 最小高度适用于 firefox 但不适用于 chrome

html - HTML/CSS 是否支持自动缩放内容以匹配/填充容器?

JavaScript 文件输入

Javascript 没有正确调用?

javascript - JS 将 blob url 转换为 Base64 文件

javascript - MM/DD 验证。它没有 YYYY 也应该验证 02/30 我也不能