首頁  >  文章  >  後端開發  >  thinkphp jquery實作圖片上傳與預覽效果

thinkphp jquery實作圖片上傳與預覽效果

不言
不言原創
2018-05-05 15:04:422345瀏覽

這篇文章主要為大家詳細介紹了thinkphp上傳圖片功能,和jquery預覽圖片效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

先上效果圖:

那個file按鈕樣式先忽略

點選選擇圖片(瀏覽),隨便選一張圖片

js程式碼如下

//上传图片立即预览
 function PreviewImage(imgFile) {
  var filextension = imgFile.value.substring(imgFile.value
    .lastIndexOf("."), imgFile.value.length);
  filextension = filextension.toLowerCase();
  if ((filextension != '.jpg') && (filextension != '.gif')
    && (filextension != '.jpeg') && (filextension != '.png')
    && (filextension != '.bmp')) {
   alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
   imgFile.focus();
  } else {
   var path;
   if (document.all)//IE
   {
    imgFile.select();
    path = document.selection.createRange().text;
    document.getElementById("photo_info").innerHTML = "";
    document.getElementById("photo_info").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\""
      + path + "\")";//使用滤镜效果  
   } else//FF
   {
    path = window.URL.createObjectURL(imgFile.files[0]);// FF 7.0以上
    //path = imgFile.files[0].getAsDataURL();// FF 3.0
    document.getElementById("photo_info").innerHTML = "<img id=&#39;img1&#39; width=&#39;120px&#39; height=&#39;100px&#39; src=&#39;"+path+"&#39;/>";
    //document.getElementById("img1").src = path;
   }
  }
 }

html程式碼,其實不重要

<p class="form-group has-success has-feedback">
       <label for="info_photo" class="col-sm-2 control-label">物品图片</label>
       <p class="col-sm-10">

        <span class="btn btn-success btn-file"> 选择图片 <span
         class="glyphicon glyphicon-picture" aria-hidden="true"></span>
         <input type="file" name="info_photo" value="" id="info_photo"
         onchange=&#39;PreviewImage(this)&#39; />
        </span>
       </p>

      </p>

      <p class="form-group has-success has-feedback">
       <label for="info_desc" class="col-sm-2 control-label"><span
        style="color: red;">* </span> 详细描述</label>
       <p class="col-sm-10">
        <textarea class="form-control" rows="5" id="info_desc"
         name="info_desc" placeholder="如需补充,请填写..." title="可包含中文数字和常用字符"></textarea>
        <p id="photo_info" class="photo_info"></p>
       </p>
      </p>

css程式碼就不上了啊
順便補充一下thinkphp上傳圖片程式碼,把整個發佈訊息都拷了算了

public function loseThing(){
   $m=M(&#39;info&#39;);
   $m->create();
   $upload = new \Think\Upload();// 实例化上传类
   $upload->maxSize =  3145728 ;// 设置附件上传大小
   $upload->exts  =  array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;,&#39;bmp&#39;);// 设置附件上传类型
   $upload->rootPath = &#39;./Public/&#39;;
   $upload->savePath = &#39;/Uploads/&#39;; // 设置附件上传目录
   $upload->autoSub = false;
   // 上传文件
   $info = $upload->upload();
   if($info) {
  // 上传成功
   foreach($info as $file){
    $m->info_photo=$file[&#39;savename&#39;];
   }
  }
   $m->create_time=date(&#39;Y-m-d H:i:s&#39;,time()); 
   $m->uid=$_SESSION[&#39;id&#39;];
   $m->username=$_SESSION[&#39;username&#39;];
  /* $m->user_img=$_SESSION[&#39;filename&#39;]; */

   $m->info_type="寻物启事";//信息类型为失物
   $lastId=$m->add();
   if($lastId){
    $this->success(&#39;发布成功&#39;);
   }else{
    $this->error(&#39;发布失败,请先登录&#39;);
   } 
  }

相關推薦:

基於ThinkPHP5.0實作圖片上傳外掛

#jQuery實作帶有本機預覽功能的圖片上傳

#

以上是thinkphp jquery實作圖片上傳與預覽效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn