【问题标题】:File upload/preview and unable to change dimensions of image文件上传/预览,无法更改图像尺寸
【发布时间】:2018-12-30 07:34:27
【问题描述】:

我正在尝试上传图像并在用户提交之前对其进行预览,但由于某种原因,我无法更改 div 或图像的宽度或高度,并且它以正常尺寸进行预览。我什至将它设置为 1px x 1px,但它仍然不起作用。

$(function() {
    var imagesPreview = function(input, placeToInsertImagePreview) {

        if (input.files) {
            var filesAmount = input.files.length;

            for (i = 0; i < filesAmount; i++) {
               var reader = new FileReader();

               reader.onload = function(event) {
                 $($.parseHTML('<img>')).attr('src', event.target.result).appendTo(placeToInsertImagePreview);
                 }

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

          $('#upload-image').on('change', function() {
              imagesPreview(this, 'img.image');
       });
   });
div.img_container {
    max-width: 1px;
    max-height: 1px;
}
img.image {
    width: 1px;
    height: 1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form action='upload.php' method='post' enctype='multipart/form-data'>
   <input id='upload-image' type='file' name='files[]' multiple>
   <input type='submit' value='Upload'>
</form>
<div class='img_container'><img class='image'></div>

【问题讨论】:

    标签: javascript jquery html css file-upload


    【解决方案1】:

    您将图像附加到图像中,而不是更新其 src:

    $(function() {
      var imagesPreview = function(input, img) {
    
        if (input.files) {
          var filesAmount = input.files.length;
    
          for (i = 0; i < filesAmount; i++) {
            var reader = new FileReader();
    
            reader.onload = function(event) {
              $(img).attr('src', event.target.result)
            }
    
            reader.readAsDataURL(input.files[i]);
          }
        }
    
      };
    
      $('#upload-image').on('change', function() {
        imagesPreview(this, 'img.image');
      });
    });
    img.image {
      width: 100px;
      height: 100px;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <form action='upload.php' method='post' enctype='multipart/form-data'>
      <input id='upload-image' type='file' name='files[]' multiple>
      <input type='submit' value='Upload'>
    </form>
    <div class='img_container'><img class='image'></div>

    【讨论】:

    • 太棒了。有效。当您遵循有关如何执行此操作的教程并且没有完全理解代码时会发生什么 lol
    • @ScarletHarlot,乐于助人!
    【解决方案2】:

    @Kosh Very 是第一个 :)

    我建议你下次检查检查器中的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-15
      • 2014-03-07
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      相关资源
      最近更新 更多