/// <summary>
        /// 得到访问地址
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetVisitUrlResultDto GetVisitUrl(GetVisitUrlParam request)
        {
            try
            {
                new GetVisitUrlParamValidator().Validate(request).Check(HttpStatus.Err.Name);
                var url = DownloadManager.CreatePrivateUrl(QiNiuConfig.GetMac(),
                                                           Core.Tools.GetHost(QiNiuConfig, request.PersistentOps.Host), request.Key, request.Expire);

                if (string.IsNullOrEmpty(url))
                {
                    if (request.Expire <= 0)
                    {
                        request.Expire = 3600;
                    }

                    url = DownloadManager.CreatePublishUrl(
                        Core.Tools.GetHost(QiNiuConfig, request.PersistentOps.Host),
                        request.Key);
                }

                return(new GetVisitUrlResultDto(url, "success"));
            }
            catch (BusinessException <string> ex)
            {
                this._logger?.LogError(ex.ExtractAllStackTrace());
                return(new GetVisitUrlResultDto(ex.Message));
            }
            catch (Exception ex)
            {
                this._logger?.LogError(ex.ExtractAllStackTrace());
                return(new GetVisitUrlResultDto(Core.Tools.GetMessage(ex)));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 得到访问地址
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public GetVisitUrlResultDto GetVisitUrl(GetVisitUrlParam request)
 {
     return(ToolCommon.GetResponse(() =>
     {
         new GetVisitUrlParamValidator().Validate(request).Check(HttpStatus.Err.Name);
         var zone = Core.Tools.GetZone(_aLiYunConfig, request.PersistentOps.Zone, () => ZoneEnum.HangZhou);
         var client = _aLiYunConfig.GetClient(zone);
         var bucket = Core.Tools.GetBucket(_aLiYunConfig, request.PersistentOps.Bucket);
         var req = new GeneratePresignedUriRequest(bucket, request.Key, SignHttpMethod.Get);
         var uri = client.GeneratePresignedUri(req);
         return new GetVisitUrlResultDto(uri.ToString(), "success");
     }, message => new GetVisitUrlResultDto(message)));
 }
 /// <summary>
 /// 得到访问地址
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public GetVisitUrlResultDto GetVisitUrl(GetVisitUrlParam request)
 {
     throw new NotImplementedException();
 }