TP3.2整合uplodify文件上传
HTML中:
<style>
#img_upload-queue{width:120px;float:left;} /*uploadify的上传进度条样式,前面的img_upload是根据上传按钮的ID来的*/
</style>
//需要引入这3个JS文件
<script type="text/javascript" src="__PUBLIC__/js/jquery.js"></script>
<link rel="stylesheet" href="__PUBLIC__/uploadify/uploadify.css">
<script src="__PUBLIC__/uploadify/jquery.uploadify.min.js"></script>
<script>
$(function() {
$('#img_upload').uploadify({ //通过ID来调用uplodify
'swf' : '__PUBLIC__/uploadify/uploadify.swf', //必须载入uplodify.swf文件
'uploader' : "<{:U('Product/uploadify')}>", //上传提交控制器地址
'buttonText' : '缩略图上传', //上传按钮显示的文字
'onUploadSuccess' : function(file, data, response) { //上传回调
$('#img').attr('src','__ROOT__/Upload/thumb/'+ data); //将返回的地址拼接成图片路径,显示缩略图
$('#thumb').val(data); //将返回的地址加载到input中
},
//这里的formData主要是解决FF无法通过flash传session的问题,uplodify是通过flash上传的
'formData' : { //通过formData往后台传递参数,POST方式;uploadify在FF里上传的时候会丢失session,由于控制器中通过session判 断了登录,所以导致上传失败,返回302错误,因此需要重新传递session内容过去,并在控制器重新组合session
'sid' : '<{:session_id()}>', //传递SESSIONID
'sname' : '<{:session("username")}>', //传递username
'sid' : '<{:session("uid")}>' //传递uid
}
});
});
</script>
//HTML中插入uplodify上传控件
<td>
<div><input id="thumb" type="text" style="float:left;margin:35px 20px 0 0;" /></div>
<div style="float:left;margin:30px 20px 0 0;"><input id="img_upload" name="img_upload" type="file" multiple="true" value="" style="float:left" /></div>
<div><img id="img" src="" style="width:100px;height:100px;background:#666;" /></div>
</td>
PHP中
//公共控制器,用来验证是否登录等
class CommonController extends Controller{
public function _initialize(){
//此处为解决Uploadify,kindeditor等flash上传在火狐下上传失败,重新设置SESSION
if ($_POST['sid']) { //接收自定义传入的内容,然后手动写入session
session_id($_POST['sid']);
session_start();
session('username',$_POST['sname']); //手动写入session的username,否则下面的判断通不过,则由于没登录导致上传失败
session('id',$_POST['suid']);
}
if(!$_SESSION['username']){
$this->redirect('Login/index');
}
}
}
//uplodify文件上传
public function uploadify(){
$config = array(
'maxSize' => 1000000, //上传文件的最大值
'exts' => array('jpeg','jpg','png','gif'), //允许上传的文件后缀 留空不作后缀检查
'autoSub' => true, // 启用子目录保存文件
'subName' => array('date','Ymd'), // 子目录创建方式 可以使用hash date custom
'rootPath' => './Upload/thumb/', //保存根路径
'savePath' => '', //上传文件保存路径
);
$upload = new \Think\Upload($config);
$info=$upload->upload();
if($info){
echo $info['Filedata']['savepath'].$info['Filedata']['savename']; //拼接出地址直接echo返回
}else{ //如果上传失败,则输出错误信息
echo $upload->getError();
}
}
TP3.2整合uplodify文件上传的更多相关文章
- 分布式文件系统FastDFS简介、搭建、与SpringBoot整合实现图片上传
之前大学时搭建过一个FastDFS的图片服务器,当时只是抱着好奇的态度搭着玩一下,当时搭建采用了一台虚拟机,tracker和storage服务在一台机器上放着,最近翻之前的博客突然想着在两台机器上搭建 ...
- FasfDFS整合Java实现文件上传下载
文章目录 一 : 添加配置文件 二 : 加载配置文件 1. 测试加载配置文件 2. 输出配置文件 三:功能实现 1.初始化连接信 ...
- SpringBoot整合阿里云OSS文件上传、下载、查看、删除
1. 开发前准备 1.1 前置知识 java基础以及SpringBoot简单基础知识即可. 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lom ...
- 整合MVC实现文件上传
1.整合MVC实现文件上传整合MVC实现文件上传在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,文件上传完毕之后需要将提交的基本信息插入数据库,那么我们来实现这个操作.整个MVC实 ...
- 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
前言 这里分享两个使用Spring MVC进行文件上传的简单示例, 分别整合bootstrap-fileinput 和 Jquery File Upload , 代码十分简单, 都是入门的示例,因此这 ...
- SpringMVC整合fastdfs-client-java实现web文件上传下载
原文:http://blog.csdn.net/wlwlwlwl015/article/details/52682153 本篇blog主要记录一下SpringMVC整合FastDFS的Java客户端实 ...
- springboot整合web开发(整合servlet、filter、listener、访问静态、文件上传)
整合servlet 1.继承HttpServlet 2.添加@WebServlet注解 @WebServlet(name="FirstServlet",urlPatterns=&q ...
- springboot整合OSS实现文件上传
OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...
- FasfDFS整合Java实现文件上传下载功能实例详解
https://www.jb51.net/article/120675.htm 在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java ...
随机推荐
- [.NET开发] C# 如何更改Word语言设置
一般在创建或者打开一个Word文档时,如果没有进行过特殊设置的话,系统默认的输入语言的是英语输入,但是为适应不同的办公环境,我们其实是需要对文字嵌入的语言进行切换的,因此,本文将介绍如何使用Spire ...
- English trip -- Review Unit5 Around town 在城市
restaurant 餐厅 supermarket 超市 shoping mall 购物中心 drugstore 药店 hospital 医院 laundromat 洗衣店 moive threat ...
- English trip -- FC(万词辩音王)
五个元音字母+一个半元音字母 1.发字母本身音都是 元+辅+e 2.不发字母音基本都是辅音结尾或者两个相同字母 辅+元+辅;元+辅 开音节 ...
- Confluence 6 使用 LDAP 授权连接一个内部目录 - 高级设置
ted Groups 为嵌套组启用或禁用支持. 一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,是系统的权限配置变 ...
- SMTP 发邮件
public class EmailOrderProcessor :IOrderProcessor { private EmailSettings es; public EmailOrderProce ...
- Docker安装及基础知识
一.安装 & 启动 1.安装Docker [root@tokyo ~]# yum install docker 2.启动Docker服务 (1)旧式的 sysv 语法 [root@tokyo ...
- 【vue系列】elementUI 穿梭框右侧获取当前选中项的值的思路
最近 做了一个需求 在查询结果的表格中,选取(可多选)一些值,获取到保单号后,打开一个elementUI的穿梭框,然后获取到所有业务员,选取一些业务员后,将上一步获取到的保单号传递给业务员. 画个示意 ...
- 蓝桥杯—ALGO-18 单词接龙(DFS)
问题描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, 要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次) ,在两个单词相连时,其 ...
- pip install flask 安装失败
地址:http://www.zhihu.com/question/21492455
- C++对象模型——默认构造函数的合成
最近在学习C++对象模型,看的书是侯捷老师的<深度探索C++对象模型>,发现自己以前对构造函数存在很多误解,作此笔记记录. 默认构造函数的误解 1.当程序猿定义了默认构造函数,编译器就会直 ...