• 河南网站建设-郑州网站建设-上海网站建设-SEO优化-网络营销-经典美文

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 网站建设观点 > 正文

ThinkPHP与JQuery实现图片上传和预览效果

发布时间:2018-11-07 | 发布者: 东东网| 浏览次数:

这篇文章主要为大家详细介绍了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='img1'   src='"< span="" style="box-sizing: border-box; -webkit-tap-highlight-color: transparent;">+path+"'/>";
    //document.getElementById("img1").src = path;
   }
  }
 }

 

 

 

 

html代码,其实不重要啦

 

 

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

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

 

 



      



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

 

 

css代码就不上了啊 
顺便补充一下thinkphp上传图片代码,把整个发布消息都拷过了算了

 

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

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

 

转载请标注:东东网——ThinkPHP与JQuery实现图片上传和预览效果