*图片:
需要引入的js、css:
JS代码处理:
$(function(){
$('#file_upload').uploadify({
'formData':{
'<?php echosession_name();?>':'<?php echosession_id();?>'
},
'uploader':'{:U("uploads")}'+"?session_id=<?php echosession_id();?>",
'swf':'__PUBLIC__/admin/uploadify/uploadify.swf',
'auto':true,//是否自动开始上传
'debug':false,//是否开启浏览器调试
'buttonText':'请选择图片',//上传按钮文字
'fileTypeExts':'*.jpg;*.gif;*.bmp;*.png;*.jpeg',//允许的图片类型
'fileSizeLimit':'2MB',//允许的单张图片的自大值
'multi':false,//是否允许多张图片一起上传
'uploadLimit':6,//允许上传数量
'successTimeout':10,//等待服务器响应时间
'removeTimeout':0.2,//成功显示时间
'onFallback':function(){
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file,data,response){
//alert(data);
data=$.parseJSON(data);
varImage="
\
\
删除
";
if($("a[class=del]").length>=5){
alert("暂不支持5条以上!");
}else{
$("#previewImgs").append(Image);
}
}
});
});
//ajax删除预览列表中的一张图片
functiongoDel(objdom,src){
$(objdom).parent().remove();
returnfalse;
}
php后台处理图片返回JSON数据:publicfunctionuploads(){
$upload=new\Think\Upload();
$upload->exts=array('jpg','gif','png','jpeg');
$upload->rootPath='./Uploads/';
$upload->savePath='/image/commodity/';
if(!is_dir($upload->savePath)){
mkdir($upload->savePath,0777,TRUE);
}
$info=$upload->upload();
if(!$info){
echojson_encode($upload->getError());
}else{
//上传成功
$info['Filedata']['savepath']=str_replace('image','Uploads/image',$info['Filedata']['savepath']);
$path=$info['Filedata']['savepath'].$info['Filedata']['savename'];
$image=new\Think\Image();
$image->open('.'.$path);
$thumbpath='.'.$info['Filedata']['savepath'].$info['Filedata']['savename'];
//$image->thumb(148,84)->save($thumbpath);
$path=ltrim($path,'.');
$thumbpath=ltrim($thumbpath,'.');
$data=array(
'imgpath'=>$path,
'thumbpath'=>$thumbpath
);
echojson_encode($data);
}
}
注意 : 上传图片时session丢失, 只需要修改thinkphp/conf/convention.php中,将VAR_SESSION_ID前面的注释去掉,然后在客户端这样配置下:'uploader':'{:U("uploads")}'+"?session_id=<?php echosession_id();?>",
即可.
参考链接: http://m./qq_29845761/article/details/49803427