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

不使用Canvas修复Blob图片EXif旋转:jQuery上传代码整合求助

解决图片预览旋转问题:整合blueimp JavaScript-Load-Image到现有上传代码

我来帮你搞定这个图片旋转的问题!这是因为很多手机拍摄的图片带有EXIF方向元数据,浏览器默认不会自动校正这个方向,导致预览时出现90度旋转的情况。下面是整合了blueimp JavaScript-Load-Image的完整代码,完美适配你现有的逻辑:

完整代码示例

<!-- 引入依赖库 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/blueimp-load-image@5.16.0/js/load-image.all.min.js"></script>

<form id="form1" runat="server">
  <input type='file' id="inputFile" multiple /> <!-- 加上multiple支持多文件上传 -->
</form>
<div class="new"></div>

<script>
function readURL() {
  var fileList = this.files;
  var ValidImageTypes = ["image/gif", "image/jpeg", "image/png"];
  
  for(var i = 0; i < fileList.length; i++){
    var file = fileList[i];
    var fileType = file.type;
    
    // 验证图片格式
    if ($.inArray(fileType, ValidImageTypes) > -1) {
      // 使用blueimp loadImage处理EXIF方向
      loadImage(
        file,
        function(img) {
          // 创建包含校正后图片的容器
          var imgDiv = $('<div class="my-img-div" style="width:auto; display:inline-block;" ></div>');
          imgDiv.append(img);
          $('.new').append(imgDiv);
          
          // 清理URL对象,避免内存泄漏
          if (img.src && img.src.startsWith('blob:')) {
            window.URL.revokeObjectURL(img.src);
          }
        },
        {
          orientation: true, // 关键:自动校正EXIF方向
          maxWidth: 800, // 可选:限制预览图宽度,避免过大
          maxHeight: 800
        }
      );
    }
  }
}

var inputfile = document.getElementById("inputFile");
inputfile.addEventListener("change", readURL, false);
</script>

关键改动说明

  • 引入blueimp库:添加了Load-Image的CDN链接,它会自动解析并校正图片的EXIF方向信息。
  • 替换原预览逻辑:用loadImage函数替代直接创建ObjectURL的方式,通过orientation: true参数开启方向校正功能。
  • 保留原有验证逻辑:继续保留了图片格式校验的代码,确保只有指定类型的图片会被处理。
  • 优化内存占用:处理完图片后主动释放blob URL,避免浏览器内存泄漏。
  • 可选体验增强:添加了maxWidth/maxHeight参数,限制预览图尺寸,避免超大图片拖慢页面加载。

这样修改后,不管是竖拍还是横拍的图片,预览时都会自动显示为正确的方向啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:40:02