项目需要优化,所以准备使用阿里云OSS对象存储,使用的时候遇到一些麻烦,第一次弄这个,之前用的是七牛。先把正确的发出来。后面再总结一下我遇到的问题
public function Upload()
{
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
$accessKeyId = ACCESS_KEY_ID;
$accessKeySecret= ACCESS_KEY_SECRET;
// Endpoint以杭州为例,其它Region请按实际情况填写。
$endpoint = ENDPOINT;
// 存储空间名称
$bucket = BUCKET;
// <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg
$object = $_FILES['img']['name'];
$content = $_FILES['img']['tmp_name'];
$options = array(OssClient::OSS_CHECK_MD5 => true);
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object, $content, $options);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
print $e->getMessage();
return;
}
print(__FUNCTION__ . ": OK" . "\n");
}
把它粘过去就可以直接用,把你自己的密钥配置好。
我在使用的时候安装好API,阿里云提供的例子,缺失md5验证,这个验证经过提交工单知道的,是确保数据的完整性。所以说如果使用了阿里云的上传方法,最好是开启md5验证。要不然就可能出现数据不完成,导致打不开图