Пример #1
0
        /// <summary>
        /// 上传到微信素材库
        /// </summary>
        /// <returns></returns>
        public ActionResult UploadToWeixinMaterial()
        {
            HttpRequestBase request = this.HttpContext.Request;

            string strFileId  = request.Form["txtFileUpload_Id"];
            string cachingKey = "fsUploadResult:" + strFileId;

            ApiResult <WeixinAddMaterialResult> apiResult = new ApiResult <WeixinAddMaterialResult>();

            FileUploadResult saveResult = SaveFile();

            if (saveResult.Success == false)
            {
                apiResult.Message = saveResult.Message;
                _cachingService.Set(cachingKey, apiResult, _uploadResultExpiresIn);
                return(new HttpStatusCodeResult(200));
            }

            string        domainId      = request.Form["txtFileUpload_Domain"];
            DomainContext domainContext = _fileDomainPool.GetDomainContext(Guid.Parse(domainId));

            string file = Server.MapPath("/") + saveResult.StoreFilePath;

            RequestApiResult <WeixinAddMaterialResult> addNormalMaterialResult =
                MaterialApiWrapper.AddNormalMaterial(domainContext, file, MaterialType.Image);

            apiResult.Success = addNormalMaterialResult.Success;
            if (addNormalMaterialResult.Success)
            {
                FileInfo fileInfo = new FileInfo(request.Files[0].FileName);
                addNormalMaterialResult.ApiResult.FileName = fileInfo.Name;

                apiResult.Message = saveResult.StoreFilePath;
            }
            else
            {
                apiResult.Message = addNormalMaterialResult.Message;
            }
            apiResult.Data = addNormalMaterialResult.ApiResult;
            _cachingService.Set(cachingKey, apiResult, _uploadResultExpiresIn);

            return(new HttpStatusCodeResult(200));
        }