有没有用plupload插件上传图片的,求分享。。
后台代码:
public function upload(){
$upload=new Upload();
$upload->maxSize=3145728;
$upload->exts=array('jpg','gif','png','jpeg');
$upload->savePath='./';
$upload->autoSub=true;
$upload->subName=array('date','Ymd');
$info=$upload->upload();
if(!$info){
$this->error($upload->getError());
}else{
foreach($info as $file){
$POST[image]=array();
$arr=substr_replace($file['savepath'].$file['savename'],'',0,-strlen+1);
$path='./uploads/'.$arr;
$image=new Image();
$image->open($path);
$image->thumb(400,400,1)->save('./thumb/'.'tb'.$file['savename']);
$image->open($path)->water('./Public/Images/logo1.png',1,50)->save($path);
}
}
}前台代码:<div id="uploadImage">
<div id="filelist">
<ul id="file-list"></ul>
</div>
<input id="browse" type="button" value="选择图片" />
<input id="start_upload" type="button" value="开始上传" />
</div>
<script type="text/javascript">
var uploader = new plupload.Uploader({
browse_button : 'browse',
url : '<{:U("Upload/upload")}>',
flash_swf_url:'__PUBLIC__/plupload-master/js/Moxie.swf',
silverlight_xap_url:'__PUBLIC__/plupload-master/js/Moxie.xap',
filters:{
mime_types:[{title:"图片文件",extensions:"jpg,jpeg,gif,png"}]
}
});
uploader.init();
uploader.bind('filesAdded',function(uploader,files){
for(var i=0,len=files.length;i<len;i++){
var file_name=files[i].name;
var html='<li id="file-'+files[i].id+'"><p class="file-name">'+file_name+'</p><p class="progress"></p></li>';
$(html).appendTo('#file-list');
!function(i){
previewImage(files[i],function(imgsrc){
$('#file-'+files[i].id).append('<img src="'+imgsrc+'" />');
})
}(i);
}
});
function previewImage(file,callback){
if(!file || !/image\//.test(file.type)) return;
if(file.type=='image/gif'){
var fr = new mOxie.FileReader();
fr.onload = function(){
callback(fr.result);
fr.destroy();
fr = null;
}
fr.readAsDataURL(file.getSource());
}else{
var preloader = new mOxie.Image();
preloader.onload = function() {
preloader.downsize( 100, 100 );
var imgsrc = preloader.type=='image/jpeg' ? preloader.getAsDataURL('image/jpeg',80) : preloader.getAsDataURL();
callback && callback(imgsrc);
preloader.destroy();
preloader = null;
};
preloader.load( file.getSource() );
}
}
uploader.bind('UploadProgress',function(uploader,file){
$('#file-'+file.id+' .progress').css('width',file.percent + '%');
});
$('#start_upload').click(function(){
uploader.start();
})
</script> 最佳答案