html - 上传前显示图片预览

标签 html image-processing upload

在我的 HTML 表单中,我输入了类型文件,例如:

 <input type="file" multiple>

然后我通过单击该输入按钮来选择多个文件。 现在我想在提交表单之前显示所选图像的预览。如何在 HTML 5 中做到这一点?

最佳答案

这是一个简单的示例,它通过将图像标签的 src 属性设置为对象 URL,使用 URL.createObjectURL 呈现缩略图:

html代码:

<input accept="image/*" type="file" id="files" />
<img id="image" />

JavaScript 代码:

document.getElementById('files').onchange = function () {
  var src = URL.createObjectURL(this.files[0])
  document.getElementById('image').src = src
}

下面 HTML 示例中的代码片段从用户选择中过滤掉图像,并将所选文件呈现为多个缩略图预览:

function handleFileSelect (evt) {
  // Loop through the FileList and render image files as thumbnails.
  for (const file of evt.target.files) {
 
    // Render thumbnail.
    const span = document.createElement('span')
    const src = URL.createObjectURL(file)
    span.innerHTML = 
      `<img style="height: 75px; border: 1px solid #000; margin: 5px"` + 
      `src="${src}" title="${escape(file.name)}">`

    document.getElementById('list').insertBefore(span, null)
  }
}

document.getElementById('files').addEventListener('change', handleFileSelect, false);
<input type="file" accept="image/*" id="files" multiple />
<output id="list"></output>

关于html - 上传前显示图片预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885295/

相关文章:

algorithm - 在视频中找到有趣的帧

html - 如何使用 bootstrap 填充空白

javascript - 当我从初始页面导航到另一个页面然后返回初始页面时,如何显示/隐藏 Div?

css - 在 jQuery Mobile 中对齐多个文本标签和输入标签

javascript - 完全相同的脚本在一页上有效,但在另一页上无效

php - 如何实现富文本编辑器,并在文本内的任意位置添加可上传的图像

python - 如何在 OpenCV 中绘制一组闭合的多边形曲线,将每个段表示为不同的颜色(即在彩虹色空间中)?

c++ - 如何正确使用opencv在图像上使用傅里叶变换对?

javascript - 是否可以在没有表单的情况下通过 JS 发布文件?

php - 使用 laravel SSH 将文件上传到另一台服务器