Exemplo n.º 1
0
        public ActionResult DownloadQueueWithMediaId()
        {
            FileDownloadQueueWithMediaIdArgs args = RequestArgs <FileDownloadQueueWithMediaIdArgs>();

            if (args == null)
            {
                return(RespondResult(false, "参数无效。"));
            }

            //_fileDownloadQueue.ServerRootDir = Server.MapPath("/");

            //DomainContext domainContext = _fileDomainPool.GetDomainContext(args.Domain);

            FileDownloadQueueEntity item = new FileDownloadQueueEntity();

            item.Domain      = args.Domain;
            item.AppId       = args.AppId;
            item.CreateTime  = DateTime.Now;
            item.MediaId     = args.MediaId;
            item.CallbackUrl = args.CallbackUrl;
            item.Tag         = args.Tag;

            _fileDownloadQueue.Enqueue(item);

            return(RespondResult());
        }
        public ApiResult DownloadQueueWithMediaId(FileDownloadQueueWithMediaIdArgs args)
        {
            ApiResult result;

            HttpRequestArgs requestArgs = new HttpRequestArgs();

            requestArgs.Method  = "POST";
            requestArgs.Url     = _fileServiceUri + "File/DownloadQueueWithMediaId";
            requestArgs.Content = JsonConvert.SerializeObject(args);

            _log.Write("发起队列文件代理下载请求(DownloadQueueWithMediaId)", requestArgs.Content, TraceEventType.Verbose);

            HttpRequestResult requestResult = _httpService.Request(requestArgs);

            if (requestResult.Success)
            {
                _log.Write("队列文件代理下载请求返回(DownloadQueueWithMediaId)", requestResult.Content, TraceEventType.Verbose);
                result = JsonConvert.DeserializeObject <ApiResult>(requestResult.Content);
            }
            else
            {
                result         = new ApiResult();
                result.Message = requestResult.Exception.Message;
            }

            return(result);
        }
Exemplo n.º 3
0
        protected override string Handle(ReceivingXMLMessage_ShortVideoMessage message, ClientDomainContext domainContext)
        {
            //存储消息记录
            MessageEntity messageEntity = new MessageEntity();

            messageEntity.Receive = true;
            messageEntity.ReceivingMessageType = EnumReceivingMessageType.Shortvideo;

            messageEntity.OfficalWeixinId = message.ToUserName;
            messageEntity.MemberOpenId    = message.FromUserName;
            messageEntity.CreateTime      = WeixinApiHelper.ConvertIntToDateTime(message.CreateTime);
            messageEntity.MsgId           = message.MsgId;

            messageEntity.ThumbMediaId = message.ThumbMediaId;
            messageEntity.MediaId      = message.MediaId;

            _messageManager.AddMessage(domainContext.Domain.Id, domainContext.AppId, messageEntity);

            //向文件服务器发起文件异步下载请求
            FileDownloadQueueWithMediaIdArgs args = new FileDownloadQueueWithMediaIdArgs();

            args.Domain      = domainContext.Domain.Id;
            args.AppId       = domainContext.AppId;
            args.MediaId     = message.MediaId;
            args.CallbackUrl = _fileDownloadCallbackUrl;
            args.Tag         = messageEntity.Id.ToString();

            ApiResult apiResult = _fileService.DownloadQueueWithMediaId(args);

            if (apiResult.Success == false)
            {
                _log.Write("队列下载请求失败", apiResult.Message, TraceEventType.Warning);
            }

            //下载缩略图
            args.MediaId     = message.ThumbMediaId;
            args.CallbackUrl = _thumbFileDownloadCallbackUrl;

            apiResult = _fileService.DownloadQueueWithMediaId(args);
            if (apiResult.Success == false)
            {
                _log.Write("队列下载请求失败", apiResult.Message, TraceEventType.Warning);
            }

            return(null);
        }