怎么在laravel框架中使用对象存储OSS

  介绍

怎么在laravel框架中使用对象存储OSS ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1,引入阿里的SDK文件

怎么在laravel框架中使用对象存储OSS

如图所示,其实我也不知道该放哪里合适,不过laravel的好处是命名空间比较好使,所以我直接把SDK重命名为OSS,然后目录路径为:App \助手\ OSS

2,就是修改命名空间,主要是你能用得上的文件,大概有7 - 8个,把命名空间都定义好

3,修改配置文件,配置。php,这个是SDK中的配置文件,需要把相应的配置写清楚

怎么在laravel框架中使用对象存储OSS

(坑:端点这个部分,前面一定不要加你的桶,不然就重复了,例如,我的端点是

& # 39; oss-cn-shanghai.aliyuncs.com& # 39;   )

4,都配置的差不多了,接下来就是上传文件了

public  static  function  uploadOne(文件名)   {   ,file 美元;=,\外墙\ \照亮\支持请求:文件(文件名美元);   ,if (! $文件),{   ,退出(“请上传图片“);   ,}   ,//文件是否上传成功   美元,if (文件→isValid ()), {      ,//获取文件相关信息   美元,美元originalName =,文件→getClientOriginalName();,//,文件原名   美元,美元ext =,文件→getClientOriginalExtension();,//,扩展名   美元,美元realPath =,文件→getRealPath();,//临时文件的绝对路径   美元,美元type =,文件→getClientMimeType ();,//,/jpeg图像   ,content 美元;=,日期(& # 39;Y-m-d-H-i-s& # 39;),只& # 39;& # 39;,只函数(),只& # 39;强生# 39;,只ext美元;      ,require_once (base_path(),只& # 39;/app/帮助/Oss/autoload.php& # 39;);      ,bucket 美元;=,配置:OSS_TEST_BUCKET;   ,accessKeyId 美元;=,配置:OSS_ACCESS_ID;   ,accessKeySecret 美元;=,配置:OSS_ACCESS_KEY;   ,endpoint 美元;=,配置:OSS_ENDPOINT;   ,ossClient 美元;=,常见:getOssClient ();   ,/* var_dump ($ ossClient);   退出;*/,object 美元;=,“用户/?只美元内容;   美元,美元filePath =,文件;   ,result 美元;=,ossClient→美元还是($ bucket,对象,美元,美元filePath);   (! $,if 结果),{   退出才能(“上传图片失败“);   ,}   美元,return 内容;   ,}   }

上代码,主要从require_once开始的,引入SDK的加载文件,然后把各项配置通过配置引入进来。

$对象是你要存储的文件。比如楼主这里,就是相当于存储在斗下的用户文件下。然后通过

filePath=美元文件来获得图片的内容,使用还是方法进行上传。然后看返回值,成功即可。

5,遇到的坑:首先是SDK中的自动装载。php一直报错,

function 类加载器(类)   {   ,path 美元;=,str_replace (& # 39; \ \ & # 39;,, DIRECTORY_SEPARATOR,,美元类);   ,file 美元;=,__DIR__ 只DIRECTORY_SEPARATOR 强生# 39;src # 39;只DIRECTORY_SEPARATOR 只path 美元;只& # 39;。php # 39;;   ,if  (file_exists(文件)美元),{   ,require_once  $文件;   ,}   }/* spl_autoload_register(& # 39;类加载器# 39;);*/

像这样的,我就直接注释了,也没什么后果,不过在后面可能会用得上吧,需要继续研究

其次就是上传的时候遇到的小问题了,这个根据错误提示修改即可,一般来说按我的走,能实现基本的上传图片,如果是上传文件的话,直接修改上传方法:美元ossClient→putobj()就可以了

关于怎么在laravel框架中使用对象存储OSS问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在laravel框架中使用对象存储OSS