laravel框架用request:file接不到文件怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel框架用request:file接不到文件怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A 亲,上传文件请参考手册:
http://www.golaravel.com/laravel/docs/5.0/requests/#files
取得上传文件
$file = Request::file('photo');

确认文件是否有上传
if (Request::hasFile('photo'))

//


file 方法返回的对象是 Symfony\Component\HttpFoundation\File\UploadedFile 的实例,UploadedFile 继承了 php 的 SplFileInfo 类并且提供了很多和文件交互的方法。
确认上传的文件是否有效
if (Request::file('photo')->isValid())

//


移动上传的文件
Request::file('photo')->move($destinationPath);

Request::file('photo')->move($destinationPath, $fileName);

希望对你有帮助!~~本回答被提问者采纳
参考技术B // index.blade.php 注意 form 里要添加 enctype="multipart/form-data"
...
<form method="POST" action=" url('request/uploadFile') " enctype="multipart/form-data">
    <div> csrf_field() </div>
    <div>图片:<input type="file" name="photo" accept="image/jpg,image/jpeg,image/gif,image/png" /></div>
    <div><button type="submit">提交</button></div>
</form>
...

然后 controller 里才用 $request->hasFile('photo') (5.3 后不用 Request::hasFile 而用$request->hasFile)来判断是否有接收到文件

关于laravel 用paginate()取值取不到的问题

前几天在写api的时候,出现了一个比较奇怪的问题,用paginate()方法取值取不到的问题,我奇怪的是,我用paginate()方法取值是直接复制粘贴之前自己写过的api中的代码的,怎么突然取不到了呢?

代码如下:

$user = JWTAuth::parseToken()->authenticate();
$status = $request->input(‘status‘);
$appeal = Appeal::select(‘id‘,‘created_at‘,‘area‘,‘spread_way_id‘,‘result‘)
->where(‘user_id‘,$user->id)
->where(‘status‘,$status)
   ->with([‘spread_way‘=>function($q){
    $q->select(‘id‘,‘spread_way as spread_way_name‘);
   }])
->paginate(5);
return response()->success($appeal);

这样的取值结果是空,然后我用get(5)去取值,结果有5条数据,这让我非常疑惑,难道paginate()方法有问题?我明明是复制粘贴过来的,之前用的还是好好的,怎么会突然有问题呢?后面发现,复制代码的时候少了toArray()这个方法,导致success()不能将collection()集合转化为json格式。(用paginate()取到的是一个collection()集合,并不是我们平时用的数组)。
新人写的随笔,有错误的地方还请大神斧正!转载请说明出处~












以上是关于laravel框架用request:file接不到文件怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

laravel框架图片上传

为啥 laravel $request->file 返回 null?

Laravel踩坑汇总

关于laravel 用paginate()取值取不到的问题

laravel上传图片

Laravel框架之Request操作