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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
一个简单的域名注册情况查询程序
Oct 09 PHP
mysql+php分页类(已测)
Mar 31 PHP
PHP中include()与require()的区别说明
Mar 10 PHP
php后台多用户权限组思路与实现程序代码分享
Feb 13 PHP
php验证session无效的解决方法
Nov 04 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
详解PHP用mb_string处理windows中文字符
May 26 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
ADODB的数据库封包程序库
2006/12/31 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
深入理解Javascript中的this关键字
2015/03/27 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
Python基于百度云文字识别API
2018/12/13 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
北大研究生linux应用求职信
2013/10/29 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
申请吧主发表的感言
2015/08/03 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
muduo TcpServer模块源码分析
2022/04/26 Redis