婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > TP5框架實現一次選擇多張圖片并預覽的方法示例

TP5框架實現一次選擇多張圖片并預覽的方法示例

熱門標簽:邢臺400電話辦理 南寧電話外呼系統線路 濟源百應電銷機器人聯系方式 南京3D地圖標注 正規電銷機器人系統 辦理400電話哪家好點 重慶外呼電銷系統多少錢 嘟嘟云外呼系統 咸陽電銷

本文實例講述了TP5框架實現一次選擇多張圖片并預覽的方法。分享給大家供大家參考,具體如下:

點擊選擇圖片(可選多張),確定后將選擇的圖片顯示在頁面上,已經選擇的圖片也可以刪除,點擊提交將圖片提交給后臺。

1、效果圖

2、code

用input標簽并選擇type=file,記得帶上multiple,不然就只能單選圖片了

如果不想通過 ajax 提交,一定要加上文件傳輸協議 ( enctype="multipart/form-data" )

view

!DOCTYPE html>
html>
head>
  meta charset="UTF-8">
  title>showImages/title>
  style type="text/css">
    .float{
      float:left;
      width : 200px;
      height: 200px;
      overflow: hidden;
      border: 1px solid #CCCCCC;
      border-radius: 10px;
      padding: 5px;
      margin: 5px;
    }
    img{
      position: relative;
    }
    .result{
      width: 200px;
      height: 200px;
      text-align: center;
      box-sizing: border-box;
    }
    #file_input{
      display: none;
    }
    .delete{
      width: 200px;
      height:200px;
      position: absolute;
      text-align: center;
      line-height: 200px;
      z-index: 10;
      font-size: 30px;
      background-color: rgba(255,255,255,0.8);
      color: #777;
      opacity: 0;
      transition-duration: :0.7s;
      -webkit-transition-duration: 0.7s;
    }
    .delete:hover{
      cursor: pointer;
      opacity: 1;
    }
  /style>
  script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js">/script>
  script type="text/javascript">
    window.onload = function(){
      var input = document.getElementById("file_input");
      var result;
      var dataArr = []; // 儲存所選圖片的結果(文件名和base64數據)
      var fd; //FormData方式發送請求
      var oSelect = document.getElementById("select");
      var oAdd = document.getElementById("add");
      var oSubmit = document.getElementById("submit");
      var oInput = document.getElementById("file_input");

      if(typeof FileReader==='undefined'){
        alert("抱歉,你的瀏覽器不支持 FileReader");
        input.setAttribute('disabled','disabled');
      }else{
        input.addEventListener('change',readFile,false);
      }     //handler

      function readFile(){
        fd = new FormData();
        var iLen = this.files.length;
        var index = 0;
        for(var i=0;iiLen;i++){
          if (!input['value'].match(/.jpg|.gif|.png|.jpeg|.bmp/i)){  //判斷上傳文件格式
            return alert("上傳的圖片格式不正確,請重新選擇");
          }
          var reader = new FileReader();
          reader.index = i;
          fd.append(i,this.files[i]);
          reader.readAsDataURL(this.files[i]); //轉成base64
          reader.fileName = this.files[i].name;

          reader.onload = function(e){
            var imgMsg = {
              name : this.fileName,//獲取文件名
              base64 : this.result  //reader.readAsDataURL方法執行完后,base64數據儲存在reader.result里
            }
            dataArr.push(imgMsg);
            result = 'div class="delete">delete/div>div class="result">img src="'+this.result+'" alt=""/>/div>';
            var div = document.createElement('div');
            div.innerHTML = result;
            div['className'] = 'float';
            div['index'] = index;
            document.getElementsByTagName('body')[0].appendChild(div);   //插入dom樹
            var img = div.getElementsByTagName('img')[0];
            img.onload = function(){
              var nowHeight = ReSizePic(this); //設置圖片大小
              this.parentNode.style.display = 'block';
              var oParent = this.parentNode;
              if(nowHeight){
                oParent.style.paddingTop = (oParent.offsetHeight - nowHeight)/2 + 'px';
              }
            }

            div.onclick = function(){
              this.remove();         // 在頁面中刪除該圖片元素
              delete dataArr[this.index]; // 刪除dataArr對應的數據

            }
            index++;
          }
        }
      }

      function send(){
        var submitArr = [];
        for (var i = 0; i  dataArr.length; i++) {
          if (dataArr[i]) {
            submitArr.push(dataArr[i]);
          }
        }
        // console.log('提交的數據:'+JSON.stringify(submitArr))
        $.ajax({
          url : 'http://39.106.182.218',
          type : 'post',
          data : JSON.stringify(submitArr),
          dataType: 'json',
          //processData: false,  用FormData傳fd時需有這兩項
          //contentType: false,
          success : function(data){
            console.log('返回的數據:'+JSON.stringify(data))
          }

        })
      }

      oSelect.οnclick=function(){
        oInput.value = "";  // 先將oInput值清空,否則選擇圖片與上次相同時change事件不會觸發
        //清空已選圖片
        $('.float').remove();
        dataArr = [];
        index = 0;
        oInput.click();
      }

      oAdd.οnclick=function(){
        oInput.value = "";  // 先將oInput值清空,否則選擇圖片與上次相同時change事件不會觸發
        oInput.click();
      }

      oSubmit.οnclick=function(){
        if(!dataArr.length){
          return alert('請先選擇文件');
        }
        send();
      }
    }
    /*
     用ajax發送fd參數時要告訴jQuery不要去處理發送的數據,
     不要去設置Content-Type請求頭才可以發送成功,否則會報“Illegal invocation”的錯誤,
     也就是非法調用,所以要加上“processData: false,contentType: false,”
     * */

    function ReSizePic(ThisPic) {
      var RePicWidth = 200; //這里修改為您想顯示的寬度值

      var TrueWidth = ThisPic.width; //圖片實際寬度
      var TrueHeight = ThisPic.height; //圖片實際高度

      if(TrueWidth>TrueHeight){
        //寬大于高
        var reWidth = RePicWidth;
        ThisPic.width = reWidth;
        //垂直居中
        var nowHeight = TrueHeight * (reWidth/TrueWidth);
        return nowHeight; //將圖片修改后的高度返回,供垂直居中用
      }else{
        //寬小于高
        var reHeight = RePicWidth;
        ThisPic.height = reHeight;
      }
    }
  /script>
/head>
body>
div class="container">
  label>請選擇一個圖像文件:/label>
  button id="select">(重新)選擇圖片/button>
  button id="add">(追加)圖片/button>

form action="" method="post" enctype="multipart/form-data">
  input type="file" id="file_input" name="image[]" multiple/>
  !--用input標簽并選擇type=file,記得帶上multiple,不然就只能單選圖片了-->
  button id="submit">提交/button>
/form>

/div>
/body>
/html>

controller

$image=request()->file('image');
print_r($image);

3、over!!!

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Spring-boot結合Shrio實現JWT的方法
  • JAVA集合框架Map特性及實例解析
  • yii框架結合charjs統計上一年與當前年數據的方法示例
  • yii框架結合charjs實現統計30天數據的方法
  • thinkphp5 框架結合plupload實現圖片批量上傳功能示例
  • TP5框架實現上傳多張圖片的方法分析
  • Apache Shrio安全框架實現原理及實例詳解

標簽:武漢 南通 通遼 隴南 黃山 唐山 平頂山 河南

巨人網絡通訊聲明:本文標題《TP5框架實現一次選擇多張圖片并預覽的方法示例》,本文關鍵詞  TP5,框架,實現,一次,選擇,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《TP5框架實現一次選擇多張圖片并預覽的方法示例》相關的同類信息!
  • 本頁收集關于TP5框架實現一次選擇多張圖片并預覽的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91小视频在线观看| 国产成人a级片| 久久人人超碰精品| 久久精品免费看| 亚洲日本乱码在线观看| 亚洲欧美在线高清| 一区二区三区中文免费| 欧美日韩国产不卡| 日韩你懂的在线播放| 91精品国产黑色紧身裤美女| 亚洲国产精品国自产拍av| 91麻豆精品久久久久蜜臀| 欧美国产一区二区| 天天做天天摸天天爽国产一区| 日本视频一区二区三区| 欧美人狂配大交3d怪物一区| 精品不卡在线视频| 91久久精品一区二区三| 国产精品正在播放| 欧美四级电影在线观看| 久久久天堂av| 日av在线不卡| 日本怡春院一区二区| 亚洲色图欧美偷拍| 一本大道久久a久久综合婷婷| 免费成人在线网站| kk眼镜猥琐国模调教系列一区二区| 欧美日韩激情一区二区| 国产日韩欧美不卡| 亚洲国产一区二区在线播放| 蜜臀91精品一区二区三区| 成人av一区二区三区| 成人动漫精品一区二区| 欧美精品一区二区三区很污很色的| 欧美在线观看视频在线| 日本道在线观看一区二区| 日韩成人午夜精品| 欧美日韩1区2区| 亚洲国产精品精华液网站 | 欧美日韩精品一区二区三区四区 | 一区二区不卡在线视频 午夜欧美不卡在 | 一区二区三区四区乱视频| 成人涩涩免费视频| 国产人成亚洲第一网站在线播放| 日韩影院精彩在线| 91精品久久久久久久99蜜桃| 天天综合天天综合色| 欧美精品在线观看一区二区| 亚洲18影院在线观看| 在线观看91视频| 亚洲一区二区三区三| 欧美日韩视频在线观看一区二区三区| 亚洲欧美国产毛片在线| 欧美三级韩国三级日本三斤| 石原莉奈在线亚洲二区| 国产一区欧美日韩| 中文天堂在线一区| 一区二区三区日韩精品| 亚洲高清免费观看高清完整版在线观看 | 亚洲免费在线观看视频| 精品久久国产老人久久综合| 国产一区二区三区免费看| 精品亚洲欧美一区| 亚洲午夜久久久久久久久电影院 | 日韩一级精品视频在线观看| 99久久国产综合精品色伊| 色婷婷久久久综合中文字幕| 91精品国产综合久久久久久久| 久久先锋影音av| 亚洲精品国产第一综合99久久| 免费高清在线视频一区·| 成人激情黄色小说| 欧美男同性恋视频网站| 国产亚洲欧美色| 午夜av一区二区三区| 丁香激情综合五月| 欧美日韩免费在线视频| 欧美精品123区| 7777精品伊人久久久大香线蕉超级流畅 | 久久老女人爱爱| 亚洲人成网站影音先锋播放| 日韩专区中文字幕一区二区| 高清在线成人网| 56国语精品自产拍在线观看| 亚洲欧美一区二区三区国产精品| 一区二区在线看| 一本大道久久精品懂色aⅴ| 国产麻豆91精品| 亚洲成人免费电影| 日韩美女啊v在线免费观看| 成人免费av在线| 国产aⅴ综合色| 精品99999| 日本高清不卡视频| 中文字幕久久午夜不卡| 美女精品自拍一二三四| 欧美精品欧美精品系列| 亚洲私人影院在线观看| 国产成人a级片| 精品国一区二区三区| 日韩黄色小视频| 欧美片网站yy| 亚洲另类春色国产| 成人精品免费视频| 国产欧美视频一区二区| 中文字幕一区二区5566日韩| 国产高清成人在线| 五月天亚洲精品| 91美女视频网站| 久久久国产精华| 久久99精品视频| jizz一区二区| 国产婷婷色一区二区三区四区 | 欧美日韩高清影院| 亚洲视频电影在线| www.99精品| 国产精品网站在线| 国产精品自拍av| 色吊一区二区三区| 久久亚洲影视婷婷| 国产日产精品一区| 九九九精品视频| 日韩欧美在线影院| 亚洲www啪成人一区二区麻豆| 亚洲综合区在线| 色综合夜色一区| 亚洲成人av中文| 国产剧情在线观看一区二区 | 一本高清dvd不卡在线观看| 青椒成人免费视频| 丁香天五香天堂综合| 亚洲午夜激情av| 亚洲一区二区精品视频| 9191成人精品久久| 欧美中文字幕一区| 在线观看亚洲精品| 欧美日韩中文精品| 精品福利二区三区| 综合亚洲深深色噜噜狠狠网站| 中文av字幕一区| 最新久久zyz资源站| 亚洲最新在线观看| 日精品一区二区三区| 蜜臀av在线播放一区二区三区| 亚洲r级在线视频| 亚洲精品视频一区| 国产精品久久久久久福利一牛影视 | 日韩不卡一二三区| 国产91清纯白嫩初高中在线观看| 国内欧美视频一区二区| 欧美国产禁国产网站cc| 国产高清成人在线| 亚洲欧美怡红院| 久久免费美女视频| 91精品国产全国免费观看| 99精品视频一区| 亚洲三级免费观看| 国产日韩影视精品| 日韩亚洲欧美成人一区| 欧美四级电影在线观看| 色婷婷亚洲精品| 欧美精品粉嫩高潮一区二区| 日韩在线播放一区二区| 尤物av一区二区| 国产精品久久久久久亚洲毛片| 日韩一区二区免费在线电影 | 亚洲成人av在线电影| 亚洲国产激情av| 91精品免费在线观看| 国产精品一区二区三区网站| 亚洲综合成人网| 18成人在线观看| 在线免费视频一区二区| 97久久精品人人爽人人爽蜜臀| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩av在线发布| 免费日本视频一区| 精品无人码麻豆乱码1区2区 | 欧美精品一二三区| 欧美图片一区二区三区| 国产高清精品网站| 欧美在线视频你懂得| 欧美日韩一区二区在线视频| 欧美日韩一区成人| 欧美老年两性高潮| 视频一区欧美日韩| 成人午夜看片网址| 色综合久久久网| 在线视频你懂得一区| 一区在线观看视频| 中文字幕一区二区5566日韩| 国产精品日韩成人| 日韩精品亚洲一区| 国精产品一区一区三区mba视频 | 99久久er热在这里只有精品66| 成人国产一区二区三区精品| 欧美伦理影视网| 亚洲精品在线三区| 国产精品国产精品国产专区不蜜 | 成年人午夜久久久|