Laravel5中使用阿里云OSS上传图片

Song1593 次浏览0个评论2018年08月16日

阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调用 API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过Web控制台对数据进行简单的管理。OSS适合存放任意类型的文件,适合各种网站、开发企业及开发者使用。

安装aliyun oss

将以下内容增加到composer.json

require: {
    "johnlui/aliyun-oss": "dev-master"
}

然后运行composer update进行安装:

使用

不需要在config/app.php中注册服务提供者同时注册下相应门面,直接use即可:

use DateTime,Input;
use JohnLui\AliyunOSS\AliyunOSS;

 //测试
public function test()
{
    //提交过来的文件,表单,AJAX都可以
    $file = Input::file('fileUp');
    $clientName = $file -> getClientOriginalName();
    $tmpName = $file ->getFileName(); 
    //缓存到路径
    $realPath = $file -> getRealPath();  
    //获取后缀  
    $entension = $file -> getClientOriginalExtension(); 
    $mimeTye = $file -> getMimeType();
    //用时间和4位随机数命名
    $newName=date("YmdHis",time()).rand("1000","9999").".".$entension;
        //移动缓存的文件到新路径并重命名
    // 构建 OSSClient 对象
    // 三个参数:服务器地址、阿里云提供的AccessKeyId、AccessKeySecret,bucketName是你实际例的名称
    $AccessKeyId="";
    $AccessKeySecret="";
    $bucketName="";
    //这里是青岛机房地址,你也可以选择其他地址
    $oss = AliyunOSS::boot('http://oss-cn-qingdao.aliyuncs.com',  $AccessKeyId, $AccessKeySecret);
    // 设置 Bucket
    $oss->setBucket($bucketName);

    // 上传一个文件(示例文件为 public 目录下的 robots.txt)
    // 两个参数:资源名称、文件路径,这个就不用多说你可以放在你的任意一个文件夹下
    $oss->uploadFile($newName, $file);

    // 从服务器获取这个资源的 URL 并打印
    // 两个参数:资源名称、过期时间
    echo $oss->getUrl($newName, new DateTime("+1 day"));
}

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...