【问题标题】:How to preview uploaded image in file upload control before save using asp.net or jquery?如何在使用 asp.net 或 jquery 保存之前在文件上传控件中预览上传的图像?
【发布时间】:2015-01-29 12:10:48
【问题描述】:

我想在保存之前预览使用 asp.net 中的文件上传控制上传的图像。

我尝试了使用 filereader 的代码,但在 IE9 中不起作用,ie9 不支持阅读器。

【问题讨论】:

标签: c# jquery asp.net


【解决方案1】:

试试这个例子

HTML

<form id="form1" runat="server">
    <input type='file' id="inputFile" />
    <img id="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
</form>

脚本

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#image_upload_preview').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#inputFile").change(function () {
    readURL(this);
});

这会对你有所帮助。

Working Demo

【讨论】:

    【解决方案2】:

    如何在使用asp.net或jquery保存之前在文件上传控件中预览上传的图片?

    这将一次以缩略图的形式预览多个文件

    HTML

    <input id="ImageMedias" multiple="multiple" name="ImageMedias" type="file"
    accept=".jfif,.jpg,.jpeg,.png,.gif" class="custom-file-input"  value="">                                    
    <div id="divImageMediaPreview"></div>
    

    脚本

    $("#ImageMedias").change(function () {
        if (typeof (FileReader) != "undefined") {
            var dvPreview = $("#divImageMediaPreview");
            dvPreview.html("");            
            $($(this)[0].files).each(function () {
                var file = $(this);                
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var img = $("<img />");
                        img.attr("style", "width: 150px; height:100px; padding: 10px");
                        img.attr("src", e.target.result);
                        dvPreview.append(img);
                    }
                    reader.readAsDataURL(file[0]);                
            });
        } else {
            alert("This browser does not support HTML5 FileReader.");
        }
    });
    

    Working Demo on Codepen

    Working Demo on jsfiddle

    我希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      @Manoj 的例子在 IE 11 中工作,但不需要调用 change 函数:

      function readURL(input) {
          if (input.files && input.files[0]) {
          var reader = new FileReader();
      
              reader.onload = function (e) {
                 $('#image_upload_preview').attr('src', e.target.result);
              }
      
          reader.readAsDataURL(input.files[0]);
          }
      }  
      

      有这段代码就够了。

      【讨论】:

        猜你喜欢
        • 2011-10-15
        • 2018-03-30
        • 1970-01-01
        • 1970-01-01
        • 2011-05-26
        相关资源
        最近更新 更多