zoukankan      html  css  js  c++  java
  • html页面选择图片上传时实现图片预览功能

    实现效果如下图所示

    只需要将下面的html部分的代码放入你的代码即可

    (注意引入jQuery文件和html头部的css样式,使用的是ajax提交)

      1 <!--
      2 需引入jQuery
      3 引入样式文件
      4 引入上传图片预览的代码
      5 获取上传的图片信息
      6 在php页面通过 request()->file() 获取图片信息
      7 -->
      8 <!-- 上传图片预览时需要的css start 无需改动-->
      9 <style type="text/css">
     10     .file {
     11         position: relative;
     12         display: inline-block;
     13         background: #D0EEFF;
     14         border: 1px solid #99D3F5;
     15         border-radius: 4px;
     16         padding: 4px 12px;
     17         overflow: hidden;
     18         color: #1E88C7;
     19         text-decoration: none;
     20         text-indent: 0;
     21         line-height: 20px;
     22     }
     23 
     24     .file input {
     25         position: absolute;
     26         font-size: 100px;
     27         right: 0;
     28         top: 0;
     29         opacity: 0;
     30     }
     31 
     32     .file:hover {
     33         background: #AADFFD;
     34         border-color: #78C3F3;
     35         color: #004974;
     36         text-decoration: none;
     37     }
     38 </style>
     39 <!-- 上传图片预览时需要的css end -->
     40 
     41 <body>
     42 
     43 <div class="wrapper">
     44     <div class="container-fluid">
     45 
     46         <!-- end page title -->
     47 
     48         <div class="row">
     49             <div class="col-12">
     50                 <div class="card">
     51                     <div class="card-body">
     52                         <form class="form-horizontal">
     53                             <div class="form-group row">
     54                                 <label class="col-sm-2 col-form-label">实现图片预览效果</label>
     55                                 <div class="col-sm-10">
     56                                     <a href="javascript:;" class="file">选择文件
     57                                         <input type="file" name="img" required>
     58                                     </a>
     59                                     <img id="img" height="100" src="">
     60                                 </div>
     61                             </div>
     62                             <div class="form-group row">
     63                                 <label class="col-sm-2 col-form-label"></label>
     64                                 <div class="col-sm-10">
     65                                     <button type="button" class="btn btn-primary" onclick="return preserve()">保存</button>
     66                                 </div>
     67                             </div>
     68                         </form>
     69 
     70                     </div> <!-- end card-box -->
     71                 </div> <!-- end card-->
     72             </div><!-- end col -->
     73         </div>
     74         <!-- end row -->
     75 
     76     </div>
     77 </div>
     78 </body>
     79 </html>
     80 <script>
     81     function preserve()
     82     {
     83         var formData    = new FormData();
     84         var img = $("[name='img']").prop('files')[0];/*获取上传图片的信息*/
     85         formData.append("img",img);
     86         $.ajax({
     87             type : "post",
     88             url : "{:URL('admin/Banner/shopbanneradd')}",/*此处填写上传路径*/
     89             processData : false,
     90             contentType : false,
     91             data : formData,
     92             success : function(data) {
     93 
     94             }
     95         });
     96     }
     97 
     98 </script>
     99 <!-- 上传图片并预览的js文件 start  无需改动-->
    100 <script type="text/javascript">
    101     var small_img = document.querySelector('input[name=small_img]');
    102     var img = document.querySelector('input[name=img]');
    103     small_imgs = document.querySelector('#small_img');
    104     imgs = document.querySelector('#img');
    105     if (small_img) {
    106         small_img.addEventListener('change', function() {
    107             var file = this.files[0];
    108             var reader = new FileReader();
    109             // 监听reader对象的的onload事件,当图片加载完成时,把base64编码賦值给预览图片
    110             reader.addEventListener("load", function() {
    111                 small_imgs.src = reader.result;
    112             }, false);
    113             // 调用reader.readAsDataURL()方法,把图片转成base64
    114             reader.readAsDataURL(file);
    115             $("img").eq(0).css("display", "block");
    116         }, false);
    117     }
    118     if(img){
    119         img.addEventListener('change', function() {
    120             var file = this.files[0];
    121             var reader = new FileReader();
    122             // 监听reader对象的的onload事件,当图片加载完成时,把base64编码賦值给预览图片
    123             reader.addEventListener("load", function() {
    124                 imgs.src = reader.result;
    125             }, false);
    126             // 调用reader.readAsDataURL()方法,把图片转成base64
    127             reader.readAsDataURL(file);
    128             $("img").eq(1).css("display", "block");
    129         }, false);
    130     }
    131 </script>
    132 <!-- 上传图片并预览的js文件 end -->

    over!over!over!

    let the world have no hard-to-write code ^-^
  • 相关阅读:
    索引虚拟oracle virtual index
    用户盘云存储——百度网盘
    数据类型泛型的嵌套使用
    函数返回值C语言中malloc函数返回值是否需要类型强制转换问题
    控制文件oracle controlfile structure
    程序语言POJ 2406 Power Strings
    数组信息[置顶] php数组转换js数组操作及json_encode应用
    代码电话《程序员的第一年》情感编
    泛型通配符泛型中使用 通配符
    数字字符串一道有道实习生笔试算法题分析
  • 原文地址:https://www.cnblogs.com/ovim/p/10582872.html
Copyright © 2011-2022 走看看