Пример #1
0
        public static string AddMaterial(MediaParams mediaParams)
        {
            string url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=" + AccessTokenService.GetAccessToken() + "&type=" + mediaParams.mediatype;

            //string img = JsonConvert.SerializeObject(imgParams);
            //return AppService.WebRequestPost(url,img);
            return(AppService.WebRequestPost(url, mediaParams.filename, mediaParams.contenttype, mediaParams.media));
        }
Пример #2
0
        public static string UploadImg(MediaParams imgParams)
        {
            string url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=" + AccessTokenService.GetAccessToken();

            //string img = JsonConvert.SerializeObject(imgParams);
            //return AppService.WebRequestPost(url,img);
            return(AppService.WebRequestPost(url, imgParams.filename, imgParams.contenttype, imgParams.media));
        }
Пример #3
0
        public ActionResult UploadImage()
        {
            HttpPostedFileBase file      = Request.Files["file"];
            MediaParams        imgParams = new MediaParams();

            imgParams.filename    = file.FileName;
            imgParams.filelength  = file.ContentLength;
            imgParams.contenttype = file.ContentType;
            imgParams.media       = new byte[file.InputStream.Length];
            file.InputStream.Read(imgParams.media, 0, (int)file.InputStream.Length);
            file.InputStream.Close();
            string req0 = JsonConvert.SerializeObject(imgParams) + "\r\n";
            //string req0 = file.FileName.ToString();
            string r1 = MsgService.UploadImg(imgParams);

            return(Content(HttpUtility.UrlDecode(r1)));
        }
Пример #4
0
        private Boolean UploadThumbnail(Item mItem)
        {
            MediaParams mediaParams = new MediaParams();

            mediaParams.mediatype = "thumb";

            var mField = (ImageField)mItem.Fields["Image"];

            if (mField == null)
            {
                return(false);
            }

            MediaItem mediaItem = mField.MediaItem;

            if (mediaItem == null)
            {
                return(false);
            }

            mediaParams.filename    = mediaItem.Name + "." + mediaItem.Extension;
            mediaParams.filelength  = (int)mediaItem.GetMediaStream().Length;
            mediaParams.contenttype = mediaItem.MimeType;
            mediaParams.media       = new byte[(int)mediaItem.GetMediaStream().Length];

            using (Stream stream = mediaItem.GetMediaStream())
            {
                stream.Read(mediaParams.media, 0, (int)mediaItem.GetMediaStream().Length);
            }

            MaterialResponse materialResponse = (MaterialResponse)JsonConvert.DeserializeObject(MsgService.AddMaterial(mediaParams), typeof(MaterialResponse));


            using (new Sitecore.SecurityModel.SecurityDisabler())
            {
                mItem.Editing.BeginEdit();
                mItem["ThumbnailID"]  = materialResponse.Media_Id;
                mItem["ThumbnailUrl"] = HttpUtility.UrlDecode(materialResponse.Url);
                mItem.Editing.EndEdit();
            }

            return(true);
            //return Content(JsonConvert.SerializeObject(materialResponse));
        }
Пример #5
0
        public ActionResult UploadMedia()
        {
            List <WechatMedia> mList = new List <WechatMedia>();
            var mdb       = Sitecore.Configuration.Factory.GetDatabase("master");
            var mItem     = mdb.GetItem(Request.Params["myItem"]);
            var localItem = mdb.GetItem(Request.Params["localItem"]);

            if ((mItem == null) || (localItem == null))
            {
                return(Content("Item is not existing!"));
            }


            if (!UploadThumbnail(mItem))
            {
                //return UploadThumbnail(mItem);
                return(Content("Upload News Thumbnail failed!"));
            }
            //ChildList mChldren =(ChildList)mItem.GetChildren().Where(i => i.TemplateName == "Msg Paragraph");
            ChildList mChildren = localItem.GetChildren();

            if (mChildren == null)
            {
                return(Content("Children are empty!"));
            }

            MediaParams mediaParams = new MediaParams();



            foreach (Item i in mChildren)
            {
                var       mField    = (ImageField)i.Fields["PImage"];
                MediaItem mediaItem = mField.MediaItem;

                mediaParams.filename    = mediaItem.Name + "." + mediaItem.Extension;
                mediaParams.filelength  = (int)mediaItem.GetMediaStream().Length;
                mediaParams.contenttype = mediaItem.MimeType;
                mediaParams.media       = new byte[(int)mediaItem.GetMediaStream().Length];

                using (Stream stream = mediaItem.GetMediaStream())
                {
                    stream.Read(mediaParams.media, 0, (int)mediaItem.GetMediaStream().Length);
                }

                MediaUrl mediaUrl = (MediaUrl)JsonConvert.DeserializeObject(MsgService.UploadImg(mediaParams), typeof(MediaUrl));

                mList.Add(new WechatMedia
                {
                    itemId   = i.ID.ToString(),
                    mediaId  = null,
                    mediaUrl = HttpUtility.UrlDecode(mediaUrl.Url)
                });
            }

            if (UpdateUrl(mList))
            {
                return(Content("Update Media Urls Successfully"));
            }
            else
            {
                return(Content("Update Media Urls failed"));
            }
        }