异步实现附件上传,查看视频教程
通过uploadify3.2实现异步上传各种格式文件,设计到的内容有些多,具体请参看上方视频教程,下面贴出部分核心代码。
var upfile="__MODULE__/Ajax/upfile/";
$('#upload_btn').uploadify({
swf:'__PUBLIC__/uploadify/uploadify.swf',
uploader:upfile,
buttonText:'上传附件',
fileTypeDesc:'Image File',
fileTypeExts:'*.doc;*.jpg;*.png;*.gif;*.jpeg;*.rar;',
onUploadSuccess:function (file,data,response){
eval('var data='+data);
var htm="<span id='attachment'>"+data.filename+"<a onclick='delhtm();' href='javascript:void(0);'>删除</a></span>";
if(data.status){
$("#upload_btn").after(htm);
showSuccessTip('附件上传成功!');
}else{
alert(data.msg);
}
}
}); //附件处理
private function _upfile($path){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 8145728;
$upload->rootPath = './';
$upload->savePath = './Public/Uploads/'.$path.'/';
$upload->saveName = array('uniqid','');
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','doc','rar');
$upload->autoSub = true;
$upload->subName = array('date','Ym');
if($info=$upload->upload()){
$filepath=$upload->savePath.date('Ym').'/'.$info['Filedata']['savename'];
return array(
'status'=>1,
'filename'=>$info['Filedata']['savename'],
);
}else{
return array('status'=>0,'msg'=>$upload->getError());
}
}功能如下图:
最佳答案