8月
26
oss 上传 api 中,一个是上传 file ,有个是上传 content 。如何处理各种文件以及数据格式呢。常见的一种操作是上传图片。这里就弄弄看。
操作一波
如果上传的图片是 base64 ,先要转换。我们这里定义一个函数。
function base64ToImage($file)
{
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)) {
$image = base64_decode(str_replace($result[1], '', $file));
return $image;
}
return null;
}
我们还知道怎么拼接完成的 url。
# 这样就可以获取公网 url,当然你也可以获取内网 url
$url = App\Services\Oss::getPublicObjectURL($ossKey);
在这里,我们是先将文件传到服务器,再从服务器将文件传到 oss 上。这时,就用内网上传即可。流量要钱的,这样蛮好的。为什么不直接传 oss 上呢。直接传服务端逻辑不方便操作,直接传权限控制不好处理。反正就这种操作吧。
上边的还没说完,转换后,需要内网上传。
$file = base64ToImage($request->file);
$ossKey = ''upload/images/meets/1.jpg;
if($file) {
$uploaded = Oss::privateUploadContent($ossKey, $file);
}
想要删也可以的
Oss::privateDeleteObject($ossKey);
图片处理
https://help.aliyun.com/document_detail/47735.html
https://help.aliyun.com/product/31815.html
8月
26
package and github
https://packagist.org/packages/johnlui/aliyun-oss
https://github.com/johnlui/AliyunOSS
适应 laravel7 版本的请看
https://github.com/johnlui/AliyunOSS-Laravel7
操作一波
composer require johnlui/aliyun-oss
新建配置文件 config/alioss.php,填充下边的 code 。
<?php
return [
'AccessKeyId' => env('ALIOSS_KEYID', null), // key
'AccessKeySecret' => env('ALIOSS_KEYSECRET', null), // secret
'BucketName' => env('ALIOSS_BUCKETNAME', null) // bucket
];
并且在 .env.example 中加入下边的配置(养成好的习惯)。
# OSS 配置
ALIOSS_KEYID=
ALIOSS_KEYSECRET=
ALIOSS_BUCKETNAME=
继续阅读
8月
26
阿里的 rds 外网怎么连呢。需要一台能连接外网的 ecs 就可以。
操作一波
打开 navicat,新建一个连接。切换到 ssh 页签,输入 ssh 服务器的地址,账号和密码。如下图所示:
然后切换到 General(常规) 页签,填入 rds 的地址、用户名、密码,点击 test connection 即可。如下图所示:
好吧,就这样了。