thinkphp jquery实现图片上传和预览效果


Posted in PHP onJuly 22, 2020

本文实例为大家分享了jquery实现图片上传和预览效果的具体代码,供大家参考,具体内容如下

先上效果图:

thinkphp jquery实现图片上传和预览效果

那个file按钮样式先忽略

点击选择图片(浏览),随便选一张图片

thinkphp jquery实现图片上传和预览效果

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' width='120px' height='100px' src='"+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">物品图片</label>
  <div 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='PreviewImage(this)' />
  </span>
  </div>

  </div>

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

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('发布失败,请先登录');
 } 
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
PHP新手上路(二)
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
php获取远程文件内容的函数
Nov 02 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 #PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 #PHP
php die()与exit()的区别实例详解
Dec 03 #PHP
详解Yii2 rules 的验证规则
Dec 02 #PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 #PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 #PHP
thinkPHP交易详情查询功能详解
Dec 02 #PHP
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
简单采集了yahoo的一些数据
2007/02/14 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
js复制到剪切板的实例方法
2013/06/28 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
简单了解python反射机制的一些知识
2019/07/13 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
售后主管岗位职责
2013/12/08 职场文书
大学四年学习的自我评价分享
2013/12/09 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server