华为云OBS配合laravel文件上传解决composer安装时候与框架依赖冲突问题
Tp5框架测试也是适用的
1.在vendor目录下新建obs文件夹 结构如下图 sdk下载地址
链接: php sdk链接.
2.在public目里下index.php文件中加入以下代码
require __DIR__.'/../vendor/obs/vendor/autoload.php';
require __DIR__.'/../vendor/obs/obs-autoloader.php';
use Obs\ObsClient;
use Obs\ObsException;
3.在上传文件控制器UploadController中加入以下代码
use Obs\ObsClient; //头部加入这段代码
/**
* 上传图片
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function uploadImage(Request $request)
{
$localfile = $request->file()['image']->getPathname();
// 创建ObsClient实例
$obsClient = new ObsClient([
'key' => 'PRMKOZAQCQTQPL39U5CGN',
'secret' => 'q5O6k88LUPnAQbBNIXykkjOEP3UM3VjlqE1ztrzm',
'endpoint' => 'obs.cn-east-3.myhuawicl3oud.com',
]);
$resp = $obsClient->putObject([
'Bucket' => 'cmsobs20200713',
'Key' => date("Y-m-d H:i:s").".png",
'SourceFile' => $localfile // localfile为待上传的本地文件路径,需要指定到具体的文件名
]);
$response['code'] = 0;
$response['msg'] = "图片上传成功!";
$response['file_path'] = $resp['ObjectURL'];
echo json_encode($response);
exit;
}