public function putObject($bucket, $object, $content, $options = NULL)
{
$this->precheckCommon($bucket, $object, $options);
OssUtil::validateContent($content);
$options[self::OSS_CONTENT] = $content;
$options[self::OSS_BUCKET] = $bucket;
$options[self::OSS_METHOD] = self::OSS_HTTP_PUT;
$options[self::OSS_OBJECT] = $object;
if (!isset($options[self::OSS_LENGTH])) {
$options[self::OSS_CONTENT_LENGTH] = strlen($options[self::OSS_CONTENT]);
} else {
$options[self::OSS_CONTENT_LENGTH] = $options[self::OSS_LENGTH];
}
if (!isset($options[self::OSS_CONTENT_TYPE])) {
$options[self::OSS_CONTENT_TYPE] = $this->getMimeType($object);
}
$response = $this->auth($options);
$result = new PutSetDeleteResult($response);
return $result->getData();
}
/** * Write a new file. * * @param string $path * @param string $contents * @param Config $config Config object * @return array|false false on failure file meta data on success */ public function write($path, $contents, Config $config) { $object = $this->applyPathPrefix($path); $options = $this->getOptionsFromConfig($config); if (!isset($options[OssClient::OSS_LENGTH])) { $options[OssClient::OSS_LENGTH] = Util::contentSize($contents); } if (!isset($options[OssClient::OSS_CONTENT_TYPE])) { $options[OssClient::OSS_CONTENT_TYPE] = Util::guessMimeType($path, $contents); } try { $this->client->putObject($this->bucket, $object, $contents, $options); } catch (OssException $e) { return false; } $type = 'file'; $result = compact('type', 'path', 'contents'); $result['mimetype'] = $options[OssClient::OSS_CONTENT_TYPE]; $result['size'] = $options[OssClient::OSS_LENGTH]; return $result; }