コード例 #1
0
ファイル: S3DownloadProfile.cs プロジェクト: hdgardner/ECF
        /// <summary>
        /// Processes the request.
        /// </summary>
        /// <param name="context">The context.</param>
        protected override void ProcessRequest(System.Web.HttpContext context)
        {
            if (this._blobInfo == null)
            {
                throw new BlobDownloadException(400, "Not found");
            }
            if (this._provider == null)
            {
                throw new BlobDownloadException(400, "Not found");
            }
            if (!(this._provider is S3StorageProvider))
            {
                throw new BlobDownloadException(400, "Not Found");
            }
            S3StorageProvider provider = (S3StorageProvider)_provider;
            S3Service         service  = provider.Service;
            string            url      = String.Empty;

            if (_AuthEnable)
            {
                url = service.GetAuthorizedUrl(provider.BucketName, this._blobInfo.Uid.ToString(), DateTime.UtcNow.Add(provider.ExpirationTimeSpan));
            }
            else
            {
                url = service.GetUrl(provider.BucketName, this._blobInfo.Uid.ToString());
            }

            context.Response.Redirect(url);
        }