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/14069421/

相关文章:

asp.net - 在asp.net中通过Web API上传大文件

javascript - 使用 HTTPS 时不显示上传进度

php - 照片上传到服务器和数据库的问题

image-processing - 图像去噪和图像滤波有什么区别

image-processing - 如何为图像添加镜头(焦点)模糊

php - 使用 Uploadify 发送 formData 不适用于大文件

python - 使用纯 Python 代码去除生成的 HTML 中的空格

html - html代码上的网站宽度

javascript - HTML5下载属性设置文件名仅右键单击+另存为

c++ - 解密不适用于已保存的图像,但适用于图像的像素操作矩阵