ThinkPHP6 ajax多文件上传

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()]);
        }
    }

 

 

你可能感兴趣的:(PHP,TP)