温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Collections.Generic; 9
using System.Text; 10
using System.Web; 11
using SpaceBuilder.Components; 12
using SpaceBuilder.Blogs.Components; 13
using SpaceBuilder.Blogs.Configuration; 14
using SpaceBuilder.Posts.Configuration; 15
using SpaceBuilder.Posts.Components; 16
using TunyNet.Utils; 17
18
namespace SpaceBuilder.Blogs.Controls 19
{ 20
/// <summary> 21
/// 博客附件处理程序,用于显示或下载附件 22
/// </summary> 23
/// <remarks> 24
/// 对于图片等附件直接在浏览器中进行显示,对于不能在浏览器中显示的附件弹出下载对话框 25
/// </remarks> 26
public class AttachmentHandler : IHttpHandler 27
{ 28
/// <summary> 29
/// 向客户端输出附件 30
/// </summary> 31
public void ProcessRequest(HttpContext context) 32
{ 33
SBContext sbContext = SBContext.Current; 34
if (sbContext.AttachmentID > 0) 35
{ 36
Weblog blog = Weblogs.GetWeblog(sbContext.ApplicationKey); 37
PostAttachmentMetaData pam = PostAttachments.GetPostAttachtmentMetaData(sbContext.AttachmentID, ApplicationType.Blog); 38
//Permissions.AccessCheck(blog, Permission.View, wlContext.User); 39
40
if (pam != null) 41
{ 42
AttachmentSettings fs = WeblogConfiguration.Instance().AttachmentSettings; 43
fs.HandleHttpRequest(context, blog, pam); 44
} 45
} 46
else 47
{ 48
WebUtils.Return404(context); 49
} 50
} 51
52
/// <exclude/> 53
public bool IsReusable 54
{ 55
get { return false; } 56
} 57
} 58
} 59
60





}