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 相关文章推荐
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
解析link_mysql的php版
Jun 30 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
学习php设计模式 php实现抽象工厂模式
Dec 07 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP命令Command模式用法实例分析
Aug 08 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
php数值计算num类简单操作示例
May 15 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
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
python爬虫正则表达式之处理换行符
2018/06/08 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Django如何使用redis作为缓存
2020/05/21 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
How to spawning asynchronous work in J2EE
2016/08/29 面试题
客服部班长工作责任制
2014/02/25 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
个人求职信格式范文
2015/03/20 职场文书
中学政教处工作总结
2015/08/13 职场文书