SharePoint 通过控制上传下载对文件进行加密解密(一)

最近遇到个需求,要对moss2007中的文档进行加密解密保护,具体需求是上传解密下载时加密(具体原因不做解释)。接到这样的需求第一反应肯定是用EventHandler来解决,实际上EventHandler是无法做到的(无法获取下载事件),在网上找了很多资料都没能直接解决问题。通过实验找到了解决问题的办法具体如下:

1.首先找到事件,就是上传的事件和下载的事件:

上传:修改upload.aspx页面,重写上传事件。重写要注意一些问题:

首先新建个类继承Microsoft.SharePoint.ApplicationPages.UploadPage,具体如何写上传的代码要参考Microsoft.SharePoint.ApplicationPages.dll中的写法(用Reflector反编译)

public class MyUpload : Microsoft.SharePoint.ApplicationPages.UploadPage
    {
        protected void MyOnSubmit(object o, EventArgs e)
        {
            if (!this.MultipleUploadMode)
            {
                this.Page.Validate();
                if (!this.Page.IsValid)
                {
                    return;
                }
                SPContentTypeId empty = SPContentTypeId.Empty;
                SPFile spfile = this.UploadFile();
                if (spfile == null)
                {
                    return;
                }
                if (((spfile.CheckOutStatus != SPFile.SPCheckOutStatus.None)) && (spfile.Item != null))
                {
                    SPUtility.Redirect(this.GetEditFormUrl(spfile), SPRedirectFlags.Default, this.Context);
                    return;
                }
            }
            else
            {
                SPUtility.Redirect(this.RedirectUrl, SPRedirectFlags.UseSource | SPRedirectFlags.Static, this.Context);
                return;
            }
            SPUtility.Redirect(this.RedirectUrl, SPRedirectFlags.UseSource | SPRedirectFlags.Static, this.Context);

        }
}

 接下来要修改Upload.aspx页面:

<%@ Assembly Name="Sinopec.Moss.CustomUploadPage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1e537c5b8c721ccf"%>  //添加刚才写类
<%@ Page Language="C#" Inherits="Sinopec.Moss.CustomUploadPage.MyUpload" MasterPageFile="~/_layouts/application.master"      %>//修改引用

还要修改上传事件名:

 <INPUT id="btnOK" runat="server" Type="button" AccessKey="<%$Resources:wss,multipages_okbutton_accesskey%>" class="ms-ButtonHeightWidth" Value="<%$Resources:wss,multipages_okbutton_text%>" οnclick="javascript:if (!VerifyCommentLength()) return false;" OnServerClick="MyOnSubmit" />
  

这样上传已经完成,下一篇文章将介绍如何控制下载事件。

 

 

 

努力过就不会后悔

转载于:https://www.cnblogs.com/jindahao/articles/2361353.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值