啊啊啊

php阿里云oss签名链接重命名

使用的是阿里云官方SDK,现在你需要能生成一个链接并且可以在浏览器中把文件下载下来。
现在我们的问题是需要重命名文件,我们存在oss中的文件肯定应该是一串id
解决方法是filename
我二次封装了一下

function oss_signUrlNewName($fileName,$fileNewName, $timeout=120){
    $accessKeyId = "id"; 
    $accessKeySecret = "密钥";
    $endpoint = "地区";
    $bucket = "";   

    try {
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    } catch (OssException $e) {
        return false;
    }
    $fileNewName = rawurlencode( $fileNewName ); //防止乱码
    $oss_config = array($ossClient::OSS_SUB_RESOURCE => 'response-content-disposition=attachment%3Bfilename%3D'.$fileNewName);

    // 生成GetObject的签名URL。
    try {
        $signedUrl = $ossClient->signUrl($bucket, $fileName, $timeout, $ossClient::OSS_HTTP_GET, $oss_config);
    } catch (OssException $e) { return false; }
    
    $signedUrl = str_replace( 'http://', 'https://', $signedUrl );
    
    return $signedUrl ;
    
}

其他语言中应该也能实现

posted @ 2020-10-02 14:31  我是一个小菜鸡呢  阅读(669)  评论(0)    收藏  举报