/// <summary>
        /// 设置生存时间(超时会自动删除)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExpireResultDto SetExpire(SetExpireParam request)
        {
            new SetExpireParamValidator().Validate(request).Check(HttpStatus.Err.Name);
            var expireRet = base.GetBucketManager(request.PersistentOps)
                            .DeleteAfterDays(Core.Tools.GetBucket(QiNiuConfig, request.PersistentOps.Bucket), request.Key,
                                             request.Expire);

            if (expireRet.Code != (int)HttpCode.OK)
            {
                return(new ExpireResultDto(false, request.Key, "lose"));
            }

            return(new ExpireResultDto(true, request.Key, "success"));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 设置生存时间(超时会自动删除)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExpireResultDto SetExpire(SetExpireParam request)
        {
            return(ToolCommon.GetResponse(() =>
            {
                new SetExpireParamValidator().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 setBucketLifecycleRequest = new SetBucketLifecycleRequest(bucket);

                LifecycleRule lcr = new LifecycleRule()
                {
                    ID = "delete " + request.Key + " files",
                    Prefix = request.Key,
                    Status = RuleStatus.Enabled,
                    ExpriationDays = request.Expire
                };
                setBucketLifecycleRequest.AddLifecycleRule(lcr);
                client.SetBucketLifecycle(setBucketLifecycleRequest); //调整生命周期
                return new ExpireResultDto(true, request.Key, "success");
            }, message => new ExpireResultDto(false, request.Key, message)));
        }
 /// <summary>
 /// 设置生存时间(超时会自动删除)
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public ExpireResultDto SetExpire(SetExpireParam request)
 {
     throw new NotImplementedException();
 }