示例#1
0
        /// <inheritdoc/>
        public PutObjectResult PutObject(string bucketName, string key, Stream content, ObjectMetadata metadata)
        {
            var cmd = PutObjectCommand.Create(GetServiceClient(), _endpoint,
                                              CreateContext(HttpMethod.Put, bucketName, key),
                                              bucketName, key, content, metadata);

            return(cmd.Execute());
        }
示例#2
0
        public IAsyncResult BeginPutObject(string bucketName, string key, Stream content, ObjectMetadata metadata,
                                           AsyncCallback callback, object state)
        {
            var cmd = PutObjectCommand.Create(GetServiceClient(), _endpoint,
                                              CreateContext(HttpMethod.Put, bucketName, key),
                                              bucketName, key, content, metadata);

            return(OssUtils.BeginOperationHelper(cmd, callback, state));
        }
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="key"></param>
        /// <param name="file"></param>
        /// <returns></returns>
        public async Task <OssResult <PutObjectResult> > PutObjectAsync(BucketInfo bucket, string key, RequestContent file, IDictionary <string, string> extraHeaders = null)
        {
            if (key.StartsWith("/"))
            {
                throw new ArgumentException($"{nameof(key)} can not start with '/'");
            }

            var cmd = new PutObjectCommand(_requestContext, bucket, key, file, extraHeaders);

            var result = await cmd.ExecuteAsync(_client);

            if (!result.IsSuccess)
            {
                _logger.LogError($"Failed in OssClient.{nameof(PutObjectAsync)}(). \nBucket: {bucket.BucketName}\nPath: {key}");
            }

            return(result);
        }
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="key"></param>
        /// <param name="file"></param>
        /// <returns></returns>
        public async Task <OssResult <PutObjectResult> > PutObjectAsync(BucketInfo bucket, string key, RequestContent file)
        {
            var cmd = new PutObjectCommand(_requestContext, bucket, key, file, null);

            return(await cmd.ExecuteAsync());
        }