微信上传文章素材—ASP.NET MVC从View层传数据到Controller层

View层:

$('#btnNews').click(function() {
        if (!confirm('确定要提交吗?')) {
            return;
        }
        var frontViewData = [];
        var title = $("*[name='title']").val();
        var digest = $("*[name='digest']").val();
        var showCoverPic = $("*[name='show_cover_pic']").val();
        var content = CKEDITOR.instances.content.getData();
        frontViewData.push({ Title: title,Digest: digest, ShowCoverPic: showCoverPic, Content: content });
        $.ajax({
            type:'POST',
            url: '/Media/AddArticle',
            data: JSON.stringify(frontViewData),
            contentType: 'application/json;charset=utf-8',
            success: function(json) {
                    alert(json.Message);
            }
        });
    });

Controller层:

public ActionResult AddArticle(List<ArticleViewModel> frontViewData)
        {
            var file = TempData["savePath"].ToString();
            var accessToken = AccessTokenContainer.GetAccessToken(AppId);
            try
            {
                //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
                //var mediaId = MediaApi.UploadTemporaryMedia(accessToken,UploadMediaFileType.thumb, file).thumb_media_id;
                //上传永久素材
                var mediaId = MediaApi.UploadForeverMedia(accessToken, file);
                var news = new NewsModel()
                {
                    author = "呵呵哒",
                    content = frontViewData[0].Content,
                    content_source_url = "",
                    digest = frontViewData[0].Digest,
                    show_cover_pic = frontViewData[0].ShowCoverPic,
                    thumb_media_id = mediaId.media_id,
                    title = frontViewData[0].Title,
                };
                //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
                //var result1 = MediaApi.UploadTemporaryNews(accessToken, 10000, news);
                //上传永久素材
                var result1 = MediaApi.UploadNews(accessToken, 10000, news);
                var json = new
                {
                    Success = result1.errmsg == "ok",
                    Message = "新增成功"
                };
                return Json(json);
            }
            catch(Exception ex)
            {
                var json = new
                {
                    Message = ex.Message
                };
                return Json(json);
            }
        }

ViewModel层:

    public class ArticleViewModel
    {
        public string Title { get; set; }
        public string ThumbUrl { get; set; }
        public string Digest { get; set; }
        public string ShowCoverPic { get; set; }
        public string Content { get; set; }
    }

 

还可以利用Request.Form[""]进行传值不过必须是inout中的name属性

posted on 2016-11-22 14:57  阿门668  阅读(387)  评论(0编辑  收藏  举报

导航