最近弄了不少上传图片的,大家可以去看看,老样子上代码
下载百度sdk包
官方网站https://cloud.baidu.com/doc/Developer/index.html
记得引用
use BaiduBce\Services\Bos\BosClient;
/**
* 百度图片上传
* @return String 图片的完整URL
*/
public function baidu_upload()
{
require_once APP_PATH . '/../vendor/baidu/BaiduBce.phar';//引用sdk
if($this->request->isAjax()){
// 拿到图片
$file = request()->file($_FILES);
$info = $file['file'];
if ($info) {
$BOS_TEST_CONFIG =
array(
'credentials' => array(
'accessKeyId' => config('accessKeyId'),
'secretAccessKey' => config('secretAccessKey'),
),
'endpoint' => config('endpoint'),
);
$client = new BosClient($BOS_TEST_CONFIG);
$bucketName = config('baidubucket');
$baiduurl = config('baiduurl');
// 配置信息
$err = $client->putObjectFromFile($bucketName,$info['name'],$info['tmp_name']);
if ($err == null) {
return ["err"=>1,"msg"=>$err,"data"=>""];
} else {
//返回图片的完整URL
return ["code"=>"2","msg"=>"上传完成","data"=>($baiduurl .'/'. $info['name']),"url"=>$info['tmp_name']];
}
} else {
// 上传失败获取错误信息
echo $file->getError();
}
}
}
总结:
1.接收文件
2.配置上传信息,我是全放config里面,可以直接放代码里
3.上传
4.返回一个网址