#Laravel笔记# 文件上传

在Laravel表单请求中,获取上传的文件对象:$file=$request->file('name');

1.在文件对象中,我们可以获得以下主要信息:

//文件的扩展名
$file->getClientOriginalExtension();
//文件的原名
$file->getClientOriginalName();
//文件大小
$file->getSize();
//文件临时的绝对路径
$realpath = $file->getRealPath();
//把临时文件移动到指定的位置,并重命名
$file->move($path,$name);

当$file->move返回文件对象结果时,说明文件上传成功

2.在laravel中还是通过$file->store($path)来上传文件

$file->store($path)只需要指定$path目录名即可,且该目录名在storage/app目录下,系统会MD5文件内容自动生成文件名,此返回值为文件路径+文件名

如果需要自定义文件名或者文件过大时!可使用$file->storeAs($path,$name)自定义文件名,同样该目录在storage/app目录下,返回值为文件路径+文件名

以上2中方法都可以进行文件存储,但是第一种可以把文件存储项目的任意位置中,而第二种只能存储在strorage/app目录下的任意位置。当上传的文件需要考虑到安全,防止盗链等问题时应把文件上传到非public目录下。

3.文件的响应(浏览器中显示文件)

return response()->file($pathToFile);

$pathToFile为文件所在路径和文件名;

4.文件强制下载

return response()->download($pathToFile);

return response()->download($pathToFile,$name,$headers);

生成强制用户浏览器下载给定路径文件的响应,download 方法接受文件名作为第二个参数,该参数决定用户下载文件的显示名称,你还可以将 HTTP 头信息作为第三个参数传递到该方法

转载于:https://www.cnblogs.com/vincePp/p/7324815.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值