private function signOssUrl ($config, $object)
{$accessKeyId = $config ["accessKeyId"];
$accessKeySecret = $config ["accessKeySecret"];
$endpoint = $config ["endpoint"];
$bucket = $config ["bucket"];
$expire = time () + $config ["expire"];
$sign_str = "GET\n\n\n" . $expire . "\n/" . $bucket . "/" . $object;
$sign = base64_encode (hash_hmac ("sha1", $sign_str, $accessKeySecret, true));
if (!$config ["custom_domain"]) {$endpoint = $bucket . "." . $endpoint;}
// $url = "http://" . $bucket . "." . $endpoint . "/" . urlencode ($object) . "?OSSAccessKeyId=" . $accessKeyId . "&Expires=" . $expire . "&Signature=" . urlencode ($Sign);
$url = sprintf ("%s://%s/%s?OSSAccessKeyId=%s&Expires=%s&Signature=%s", $config ["ssl"] ? "https" : "http", $endpoint,
urlencode ($object), $accessKeyId, $expire, urlencode ($sign));
return $url;
}
$config = ["accessKeyId" => "LTAI22 dYBJ1 LO5 zc",
"accessKeySecret" => "rehhmEDmWUIv6 B4 RDgWdD6 KlIUGoTJ",
"endpoint" => "oss.xmyunce.com",
"bucket" => "linsonoss",
"expire" => 3600,
"ssl" => false,
"custom_domain" => true,
];
$url = $this->signOssUrl ($config, $object);
return \Redirect::to ($url);