温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Network Technology Co., Ltd. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Collections.Generic; 9
using System.Text; 10
using SpaceBuilder.Components; 11
using System.Web.UI.WebControls; 12
using SpaceBuilder.Posts.Configuration; 13
using SpaceBuilder.Posts.Components; 14
using SpaceBuilder.Blogs.Configuration; 15
using TunyNet.Utils; 16
using SpaceBuilder.Blogs.Components; 17
using SpaceBuilder.Controls; 18
using SpaceBuilder.Controls.Utils; 19
20
namespace SpaceBuilder.Blogs.Controls 21
{ 22
public class UploadBlogAttachments : WeblogAdminThemedControl 23
{ 24
SBContext wlContext = SBContext.Current; 25
26
protected override void OnInit(EventArgs e) 27
{ 28
if (SkinName == null) 29
SkinName = "Skin-UploadBlogAttachment.ascx"; 30
31
wlContext = SBContext.Current; 32
base.OnInit(e); 33
} 34
35
Literal tips; 36
FileUpload blogAttachmentFile; 37
CustomValidator blogAttachmentFileCustomValidator; 38
TextBox blogAttachmentSaveAsFileName; 39
LinkButton uploadBlogAttachmentButton; 40
StatusMessage statusMessage; 41
42
protected override void AttachChildControls() 43
{ 44
tips = FindControl("Tips") as Literal; 45
blogAttachmentFile = FindControl("BlogAttachmentFile") as FileUpload; 46
blogAttachmentFileCustomValidator = FindControl("BlogAttachmentFileCustomValidator") as CustomValidator; 47
blogAttachmentSaveAsFileName = FindControl("BlogAttachmentSaveAsFileName") as TextBox; 48
statusMessage = FindControl("StatusMessage") as StatusMessage; 49
uploadBlogAttachmentButton = FindControl("UploadBlogAttachmentButton") as LinkButton; 50
uploadBlogAttachmentButton.Click += new EventHandler(uploadBlogAttachmentButton_Click); 51
} 52
53
void uploadBlogAttachmentButton_Click(object sender, EventArgs e) 54
{ 55
if (!blogAttachmentFile.HasFile) 56
{ 57
blogAttachmentFileCustomValidator.IsValid = false; 58
blogAttachmentFileCustomValidator.ErrorMessage = "没有选择要上传的文件"; 59
statusMessage.Visible = true; 60
statusMessage.Text = "没有选择要上传的文件"; 61
statusMessage.MessageType = StatusMessageType.Error; 62
return; 63
} 64
65
AttachmentSettings fs = WeblogConfiguration.Instance().AttachmentSettings; 66
if (fs.ValidateExtensions && !wlContext.User.IsBlogAdministrator) 67
{ 68
if (!fs.ValidationRegex.IsMatch(blogAttachmentFile.FileName)) 69
{ 70
string message = string.Format("只允许上传以下文件类型: {0}.", fs.Extensions.Replace(";", ",")); 71
blogAttachmentFileCustomValidator.ErrorMessage = message; 72
statusMessage.Visible = true; 73
statusMessage.MessageType = StatusMessageType.Error; 74
statusMessage.Text = message; 75
return; 76
} 77
} 78
if ((blogAttachmentFile.FileContent.Length / 1024) < WeblogConfiguration.Instance().AttachmentSettings.MaxAttachmentSize) 79
{ 80
PostAttachment pa = new PostAttachment(blogAttachmentFile.PostedFile); 81
if (!ValueHelper.IsNullOrEmpty(blogAttachmentSaveAsFileName.Text)) 82
pa.FriendlyFileName = WebUtils.HtmlEncode(blogAttachmentSaveAsFileName.Text.Trim()); 83
84
pa.CreateDate = DateTime.Now; 85
pa.UserID = wlContext.User.UserID; 86
pa.PostID = 0; 87
pa.SectionID = CurrentWeblog.SectionID; 88
pa.ApplicationType = ApplicationType.Blog; 89
PostAttachments.Add(pa, ApplicationType.Blog); 90
fs.SaveAttachmentToDisk(pa, pa.SectionID, pa.PostID); 91
// Context.Response.Redirect( BlogUrls.Instance().ManageBlogAttachments(CurrentWeblog.ApplicationKey)); 92
TunyNet.Web.UI.ModalHelper.ClosePage(Page, "true"); 93
} 94
else 95
{ 96
blogAttachmentFileCustomValidator.ErrorMessage = string.Format("上传附件不能超过{0}K", WeblogConfiguration.Instance().AttachmentSettings.MaxAttachmentSize); 97
statusMessage.Visible = true; 98
statusMessage.MessageType = StatusMessageType.Error; 99
statusMessage.Text = string.Format("上传附件不能超过{0}K", WeblogConfiguration.Instance().AttachmentSettings.MaxAttachmentSize); 100
} 101
102
} 103
104
protected override void OnLoad(EventArgs e) 105
{ 106
base.OnLoad(e); 107
Header.AddTitle("上传博客附件", wlContext.Context); 108
} 109
110
protected override void OnPreRender(EventArgs e) 111
{ 112
base.OnPreRender(e); 113
114
tips.Text = string.Format("请将您上传附件的大小限制在 {0} K<br/>支持上传的文件类型:{1}", WeblogConfiguration.Instance().AttachmentSettings.MaxAttachmentSize, WeblogConfiguration.Instance().AttachmentSettings.Extensions); 115
} 116
} 117
} 118





}
}