s

tp5文件上传

1.文件上传除非在form表单中 action 属性写了请求的url,不需要用到 FormData这个对象,使用ajax 异步上传文件(包括二进制) 使用这个formdata对象可以帮助减小工作量(form 增加 enctype="multipart/form-data")

2.formdata.append('file[]',files【i】【 key,values 模式】)【i循环files】;

3.ajax  processData 设置为 false, data:formdata ...

4.tp5 controller 接收 【request()->file('file') 【formdata 接收文件的key: 'file'  】】

5.查看是否接收到 前台传来的文件, $file = request()->file('file');

   错误方式:return json($file);  //会输出 空对象, 但是用原声的$_FILES 接受并输出却能输出, 这是因为 tp5在文件上传这一块做了 特殊处理,直接获取$file 对象里的数据是获取不到的, $file 对象里的属性都是 protected【return dump($file) 可以发现】, 需要使用  tp5 源码 提供的 $file->getInfo() 这个方法去获取 上传文件的信息!!!!!

6.文件上传到指定路径下  move(’$path‘, 'file_name', true) 方法    

 

posted @ 2021-03-04 14:25  努力不搬砖的iori  阅读(841)  评论(0编辑  收藏  举报