Home  >  Article  >  Backend Development  >  thinkphp jquery implements image upload and preview effects

thinkphp jquery implements image upload and preview effects

不言
不言Original
2018-05-05 15:04:422345browse

This article mainly introduces the image upload function of thinkphp and jquery image preview effect in detail. It has certain reference value. Interested friends can refer to it.

First, the renderings:

Ignore the file button style first

Click to select a picture (browse) and select a picture at random

js code is as follows

//上传图片立即预览
 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 code, actually it is not important

<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>

The css code is not uploaded
By the way, I would like to add the thinkphp upload image code, copy the entire release message

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;);
   } 
  }

Related recommendations:

Implementation of image upload plug-in based on ThinkPHP5.0

jQuery implementation of image upload with local preview function

The above is the detailed content of thinkphp jquery implements image upload and preview effects. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn