ThinkPHP上传图片并jQuery预览

先上效果图:这里写图片描述 那个file按钮样式先忽略 点击选择图片(浏览),随便选一张图片 这里写图片描述 js代码如下
  1. //上传图片立即预览
  2.     function PreviewImage(imgFile) {
  3.         var filextension = imgFile.value.substring(imgFile.value
  4.                 .lastIndexOf("."), imgFile.value.length);
  5.         filextension = filextension.toLowerCase();
  6.         if ((filextension != '.jpg') && (filextension != '.gif')
  7.                 && (filextension != '.jpeg') && (filextension != '.png')
  8.                 && (filextension != '.bmp')) {
  9.             alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
  10.             imgFile.focus();
  11.         } else {
  12.             var path;
  13.             if (document.all)//IE
  14.             {
  15.                 imgFile.select();
  16.                 path = document.selection.createRange().text;
  17.                 document.getElementById("photo_info").innerHTML = "";
  18.                 document.getElementById("photo_info").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\""
  19.                         + path + "\")";//使用滤镜效果      
  20.             } else//FF
  21.             {
  22.                 path = window.URL.createObjectURL(imgFile.files[0]);// FF 7.0以上
  23.                 //path = imgFile.files[0].getAsDataURL();// FF 3.0
  24.                 document.getElementById("photo_info").innerHTML = "<img id='img1' width='120px' height='100px' src='"+path+"'/>";
  25.                 //document.getElementById("img1").src = path;
  26.             }
  27.         }
  28.     }
html代码,其实不重要啦
  1. <div class="form-group has-success has-feedback">
  2.           <label for="info_photo" class="col-sm-2 control-label">物品图片</label>
  3.           <div class="col-sm-10">
  4.               <span class="btn btn-success btn-file"> 选择图片 <span
  5.                   class="glyphicon glyphicon-picture" aria-hidden="true"></span>
  6.                   <input type="file" name="info_photo" value="" id="info_photo"
  7.                   onchange='PreviewImage(this)' />
  8.               </span>
  9.           </div>
  10.       </div>
  11.       <div class="form-group has-success has-feedback">
  12.           <label for="info_desc" class="col-sm-2 control-label"><span
  13.               style="color: red;">* </span>&nbsp;详细描述</label>
  14.           <div class="col-sm-10">
  15.               <textarea class="form-control" rows="5" id="info_desc"
  16.                   name="info_desc" placeholder="如需补充,请填写..." title="可包含中文数字和常用字符"></textarea>
  17.               <div id="photo_info" class="photo_info"></div>
  18.           </div>
  19.       </div>
css代码就不上了啊 顺便补充一下thinkphp上传图片代码,把整个发布消息都拷过了算了
  1. public function loseThing(){
  2.             $m=M('info');
  3.             $m->create();
  4.             $upload = new \Think\Upload();// 实例化上传类
  5.             $upload->maxSize   =     3145728 ;// 设置附件上传大小
  6.             $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg','bmp');// 设置附件上传类型
  7.             $upload->rootPath = './Public/';
  8.             $upload->savePath = '/Uploads/'; // 设置附件上传目录
  9.             $upload->autoSub = false;
  10.             // 上传文件
  11.             $info   =   $upload->upload();
  12.             if($info) {
  13.         // 上传成功
  14.             foreach($info as $file){
  15.                 $m->info_photo=$file['savename'];
  16.             }
  17.         }
  18.             $m->create_time=date('Y-m-d H:i:s',time());
  19.             $m->uid=$_SESSION['id'];
  20.             $m->username=$_SESSION['username'];
  21.         /*  $m->user_img=$_SESSION['filename']; */
  22.             $m->info_type="寻物启事";//信息类型为失物
  23.             $lastId=$m->add();
  24.             if($lastId){
  25.                 $this->success('发布成功');
  26.             }else{
  27.                 $this->error('发布失败,请先登录');
  28.             }
  29.         }
  本文地址:http://liuyanzhao.com/3502.html 转载请注明    

发表评论

目前评论:1