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实现的功能是显示8条基色色带
Oct 09 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
codeigniter发送邮件并打印调试信息的方法
Mar 21 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 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
ThinkPHP之N方法实例详解
2014/06/20 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
php上传文件常见问题总结
2015/02/03 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python中属性和描述符的正确使用
2016/08/23 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
简单了解如何封装自己的Python包
2020/07/08 Python
2019年Java面试必问之经典试题
2012/09/12 面试题
大学生求职信范文应怎么写
2014/01/01 职场文书
工作岗位说明书模板
2014/05/09 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
平安建设汇报材料
2014/12/29 职场文书
专家推荐信怎么写
2015/03/25 职场文书
安全员岗位职责范本
2015/04/11 职场文书