You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript获取上传图片宽高并替换指定HTML元素内容

获取上传图片尺寸并替换指定元素内容的实现方案

核心实现逻辑

  • 监听文件上传框的change事件获取用户选中的图片文件
  • 生成临时资源地址加载图片,等图片加载完成后读取原生宽高
  • 用拿到的尺寸内容覆盖目标元素的原有内容

适配现有代码结构的完整实现

你可以直接把以下代码替换到你现有的业务逻辑中,不需要改动原有HTML结构,仅需要把选择器替换为你实际使用的元素ID/类名即可:

const uploadEl = document.querySelector('#你的上传框选择器')
const targetEl = document.querySelector('#你要替换内容的元素选择器')

uploadEl.addEventListener('change', (e) => {
  const selectedFile = e.target.files[0]
  // 非图片类型直接做提示
  if (!selectedFile || !selectedFile.type.startsWith('image/')) {
    targetEl.innerText = '请上传有效图片文件'
    return
  }

  const tempImage = new Image()
  tempImage.src = URL.createObjectURL(selectedFile)

  tempImage.onload = () => {
    // naturalWidth/naturalHeight 为图片真实像素尺寸,不受页面样式影响
    const width = tempImage.naturalWidth
    const height = tempImage.naturalHeight
    // 替换目标元素内容,展示格式可以按需调整
    targetEl.innerText = `宽度:${width}px,高度:${height}px`
    // 清理临时资源,避免内存泄漏
    URL.revokeObjectURL(tempImage.src)
  }
})

关键注意点

  • 必须在图片的onload事件回调中读取尺寸,否则图片未加载完成会得到0值
  • 不要用width/height属性读取尺寸,这两个属性返回的是图片在页面上的渲染尺寸,可能和原图真实尺寸不一致

内容的提问来源于stack exchange,提问作者louisdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:45:03