javascript - 如何限制除 jpg png 或 gif 之外的图像大小和扩展名

标签 javascript jquery html css

我使用下面的代码在上传前预览图片,效果很好。但是如何修复图像扩展,使用户也不会上传任何无效的图像和大小

<html lang="en">

<head>

  <title>Change image on select new image from file input</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>

<input type="file" name="file" id="profile-img">
<img src="" id="profile-img-tag" width="200px" />
<br />
<input type="file" name="file" id="profile-img2">
<img src="" id="profile-img2-tag" width="200px" />
<br />
<input type="file" name="file" id="profile-img3">
<img src="" id="profile-img3-tag" width="200px" />


  <script type="text/javascript">
function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();

    reader.onload = function(e) {
      $('#' + $(input).attr('id') + '-tag').attr('src', e.target.result);
    }
    reader.readAsDataURL(input.files[0]);
  }
}

$("[type=file]").change(function() {
  readURL(this);
});
  </script>


</body>

</html>

提前致谢。

最佳答案

<html lang="en">

<head>

    <title>Change image on select new image from file input</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>

</head>

<style type="text/css">
    .image-holder{
        height: 200px;
    }
    .image-holder img{
      max-height: 100%;
    }
</style>

<body>




<input id="fileUpload_one" type="file" multiple />
<div id="image-holder_one" class="image-holder"></div>



<script type="text/javascript">

$("#fileUpload_one").on('change', function () {

     //Get count of selected files
     var countFiles = $(this)[0].files.length;

     var imgPath = $(this)[0].value;
     var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
     var image_holder = $("#image-holder_one");
     image_holder.empty();

     if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
         if (typeof (FileReader) != "undefined") {

             //loop for each file selected for uploaded.
             for (var i = 0; i < countFiles; i++) {

                 var reader = new FileReader();
                 reader.onload = function (e) {
                     $("<img />", {
                         "src": e.target.result,
                             "class": "thumb-image"
                     }).appendTo(image_holder);
                 }

                 image_holder.show();
                 reader.readAsDataURL($(this)[0].files[i]);
             }

         } else {
             alert("This browser does not support FileReader.");
         }
     } else {
         alert("Pls select only images");
     }
 });

</script>





</body>

</html>

在放置图片的div中添加类,并相应地通过css为图片赋予样式。希望它有帮助我将 css 和类添加到 div 希望它有帮助。

关于javascript - 如何限制除 jpg png 或 gif 之外的图像大小和扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54527795/

相关文章:

javascript - 当用户将鼠标悬停在 <ins> 标签内的文本上时,如何弹出工具提示?

javascript - 带有数据的类如何加载

javascript - 如何将一行追加到 jquery 位于第二位置的表中?

javascript - 无法在 AngularJS 的 Internet Explorer 11 中获取事件目标的父级

javascript - 突出显示元素中的子字符串

php - Jtable 插件的替代品?

javascript - 通过 Ajax 提交表单 - FormData 始终为空

javascript - ParentNode.remove() 在 IE 中不起作用

javascript - 如何查看给定对象是否与从 firebase 返回的对象之一匹配

javascript - 如何根据表单字段类型自动更新价格="number"