ThinkPHP6 ajax多文件上传
HTML文件:
提交
取消
JS文件:
function submitFile() {
var files = document.getElementById("file_name").files;
var formFile = new FormData();
for(var i = 0; i < files.length; i++){
formFile.append("file_name[]",files[i]); // 文件对象 ,fileupload必须加中括号
}
$.ajax({
url: "/Data.Baidu/uploadFile",
data: formFile,
type: "Post",
dataType: "json",
cache: false,
processData: false,
contentType: false,
success: function (data) {
console.log(data);
if(data.code==1){
Feng.error(data.msg)
}else if(data.code==200){
Feng.success(data.msg)
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
},
error:function (data) {
// console.log(data);
if(data.readyState==4){
Feng.error(data.responseJSON)
}
}
})
}
PHP文件
function uploadFile(){
$files = request()->file('file_name');
if(!$files){
return json(['code'=>1,'msg'=>'没有选择上传文件']);
}
try{
// 验证文件格式
validate(['file'=>['fileExt' => 'zip','fileMime' => 'application/zip']])->check(['file' => $files]);
$savename = [];
foreach ($files as $file){
// 移动到框架应用根目录/public/uploads/zip 目录下
$savename[] = \think\facade\Filesystem::disk('public')->putFile( 'zip', $file);
}
Cache::set('file',$savename,3600);
return json(['code'=>200,'msg'=>'文件上传成功']);
}catch(ValidateException $e){
return json(['code'=>0,'msg'=>$e->getError()]);
}
}