Ejemplo n.º 1
0
        // flash上传(逐个保存)
        public void SaveUpload()
        {
            int albumId          = ctx.PostInt("PhotoAlbumId");
            int systemCategoryId = ctx.PostInt("SystemCategoryId");

            if (ctx.HasUploadFiles == false)
            {
                echoText(lang("exPlsUpload"));
                return;
            }

            HttpFile file = ctx.GetFileSingle();

            logger.Info(file.FileName + "=>" + file.ContentType);

            Result result = Uploader.SaveImg(file);

            if (result.HasErrors)
            {
                errors.Join(result);
                echoText(result.ErrorsText);
            }
            else
            {
                PhotoPost post = newPost(Path.GetFileNameWithoutExtension(file.FileName), result.Info.ToString(), albumId, systemCategoryId);
                PhotoApp  app  = ctx.app.obj as PhotoApp;
                postService.CreatePost(post, app);

                // 统计
                User user = ctx.owner.obj as User;
                user.Pins = PhotoPost.count("OwnerId=" + user.Id);
                user.update("Pins");

                // feed
                String photoHtml = string.Format("<a href='{0}'><img src='{1}'/></a> ", alink.ToAppData(post), post.ImgThumbUrl);

                String templateData = string.Format("photoCount: {0}, photos: \"{1}\" ", 1, photoHtml);
                templateData = "{" + templateData + "}";
                TemplateBundle tplBundle = TemplateBundle.GetPhotoTemplateBundle();
                feedService.publishUserAction((User)ctx.viewer.obj, typeof(PhotoPost).FullName, tplBundle.Id, templateData, "", ctx.Ip);
                echoAjaxOk();
            }
        }
Ejemplo n.º 2
0
        public void Create()
        {
            int albumId          = ctx.PostInt("PhotoAlbumId");
            int systemCategoryId = ctx.PostInt("SystemCategoryId");

            if (albumId <= 0)
            {
                errors.Add(alang("exAlbumSelect"));
                run(NewPost, albumId);
                return;
            }

            if (systemCategoryId <= 0)
            {
                errors.Add(alang("exSysCategoryRequire"));
                run(NewPost, albumId);
                return;
            }

            if (ctx.GetFiles().Count <= 0)
            {
                errors.Add(alang("exUploadImg"));
                run(NewPost, albumId);
                return;
            }

            List <PhotoPost> imgs = new List <PhotoPost>();

            for (int i = 0; i < ctx.GetFiles().Count; i++)
            {
                HttpFile file = ctx.GetFiles()[i];

                if (file.ContentLength < 10)
                {
                    continue;
                }

                // 发生任何错误,则返回
                Result result = Uploader.SaveImg(file);
                if (result.HasErrors)
                {
                    echo(result.ErrorsHtml);
                    return;
                }

                PhotoPost post = newPost(ctx.Post("Text" + (i + 1)), result.Info.ToString(), albumId, systemCategoryId);
                PhotoApp  app  = ctx.app.obj as PhotoApp;
                postService.CreatePost(post, app);
                imgs.Add(post);
            }

            // 如果没有上传的图片
            if (imgs.Count == 0)
            {
                errors.Add(alang("exUploadImg"));
                run(NewPost, albumId);
                return;
            }

            // 统计
            User user = ctx.owner.obj as User;

            user.Pins = PhotoPost.count("OwnerId=" + user.Id);
            user.update("Pins");

            // feed消息
            int    photoCount = imgs.Count;
            String photoHtml  = "";

            foreach (PhotoPost post in imgs)
            {
                photoHtml += string.Format("<a href='{0}'><img src='{1}'/></a> ", alink.ToAppData(post), post.ImgThumbUrl);
            }

            String templateData = string.Format("photoCount: {0}, photos: \"{1}\" ", photoCount, photoHtml);

            templateData = "{" + templateData + "}";
            TemplateBundle tplBundle = TemplateBundle.GetPhotoTemplateBundle();

            feedService.publishUserAction((User)ctx.viewer.obj, typeof(PhotoPost).FullName, tplBundle.Id, templateData, "", ctx.Ip);

            echoRedirectPart(lang("opok"), to(new MyController().My), 1);
        }