SharePoint文档上传管理

 

前台代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FileUpload.ascx.cs" Inherits="UploadFile.FileUpload" %>
<table>
<tr>
<td  style="width:138px; height: 24px;">
请选择列表:
</td>
<td style="width:133px; height: 24px;">
<asp:DropDownList ID="ddlListName" runat="server" OnSelectedIndexChanged="ListTileNameDrp_SelectedIndexChanged" Width="122px" AutoPostBack="true">
</asp:DropDownList>
</td>
</tr>
    <tr>
        <td style="width: 138px">
            请选择文件夹:</td>
        <td style="width: 133px">
            <asp:DropDownList ID="ddlFolderName" runat="server" Width="122px">
            </asp:DropDownList></td>
    </tr>
    <tr>
        <td style="width: 138px">
            部门:</td>
        <td style="width: 133px">
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
    </tr>
    <tr>
        <td colspan="2">
            <asp:FileUpload ID="FileUpload1" runat="server" Width="250px" /></td>
    </tr>
    <tr>
        <td colspan="2" style="text-align: right">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上载" Width="51px" /></td>
    </tr>
</table>
 

后台代码:

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.SharePoint;
using System.IO;

namespace UploadFile
{
    public partial class FileUpload : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                BindListName();
            }
        }
        //绑定列表库
        public void BindListName()
        {
            SPSite site = new SPSite("http://foxconn-shentan/");
            SPWeb myWeb =site.AllWebs["Docs"];
            SPListCollection collList = myWeb.Lists;
            ddlListName.Items.Clear();
            foreach(SPList myList in collList)
            {
                ddlListName.Items.Add(new ListItem(myList.Title));
            }
        }
        //列表库选择项改变时,级联绑定列表库下的文件库
        protected void ListTileNameDrp_SelectedIndexChanged(object sender, EventArgs e)
        {
            SPSite site = new SPSite("http://foxconn-shentan/");
            SPWeb myWeb = site.AllWebs["Docs"];
            SPList myList=myWeb.Lists[ddlListName.SelectedValue];
            ddlFolderName.Items.Clear();
            ddlFolderName.Items.Add("根目录");
            foreach (SPListItem myFolder in myList.Folders)
            {
                ddlFolderName.Items.Add(new ListItem(myFolder.Name));
            }
        }
        //弹出消息框
        private void ShowMessage(string txtMsg)
        {
            Literal msg = new Literal();
            msg.Text = "<script>alert('"+txtMsg+"')</script>";
            Page.Controls.Add(msg);
        }
        //给个用户添加权限
        public void AddedPermission(SPWeb spWeb,SPList spList,string fileName)
        {
            SPListItem listItem = null;
            //遍历列表下的所有记录
            foreach(SPListItem item in spList.Items)
            {
                //哪一条记录的"名称"字段与上传的文档名称一致
                if(item["名称"].ToString()==fileName)
                {
                    listItem = spList.GetItemById(item.ID);
                    break;
                }
            }
            //断开原来列表项所继承的权限,使其可以设置独立权限
            listItem.BreakRoleInheritance(true);
            //将原来所继承的权限通通移除
            foreach(SPRoleAssignment roleAssignment in listItem.RoleAssignments)
            {
                roleAssignment.RoleDefinitionBindings.RemoveAll();
                spWeb.AllowUnsafeUpdates = true;
                roleAssignment.Update();
                listItem.Update();
            }
            //获取将要设置权限的用户
            SPUser myUser = SPContext.Current.Site.RootWeb.AllUsers["SHEN\\a"];
            //定义权限分配
            SPRoleAssignment myRoleAssignment = new SPRoleAssignment(myUser.LoginName,myUser.Email,myUser.Name,myUser.Notes);
            //绑定设置的权限
            myRoleAssignment.RoleDefinitionBindings.Add(spWeb.RoleDefinitions.GetByType(SPRoleType.Reader));
            //把这个权限加到我们的列表中
            listItem.RoleAssignments.Add(myRoleAssignment);
            listItem.Update();
        }
        //上载文档的方法
        public void UploadFile(string srcUrl,string destUrl,string fileName)
        {
            //特权提升,以管理员身份运行下列代码段
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPWeb myWeb=new SPSite(destUrl).OpenWeb())
                {
                    myWeb.AllowUnsafeUpdates = true;
                    if(!File.Exists(srcUrl))
                    {
                        throw new ArgumentException(String.Format("{0} does not exist",srcUrl),"srcUrl");
                    }
                    SPList list = myWeb.Lists["文档"];
                    FileStream fStream = File.OpenRead(srcUrl);
                    byte[] contents=new byte[fStream.Length];
                    fStream.Read(contents,0,(int)fStream.Length);
                    fStream.Close();
                    //将文件加入到列表中
                    if (ddlFolderName.SelectedValue == "根目录")
                    {
                        SPFile file=list.RootFolder.Files.Add(fileName, contents);
                        SPListItem item = file.Item;
                        string bumeng = TextBox1.Text.ToString();
                        item["部门"] = bumeng;
                        item.Update();
                    }
                    else
                    {
                        Guid id = Guid.Empty;
                        foreach(SPListItem subFolder in list.Folders)
                        {
                            if(subFolder.Name==ddlFolderName.SelectedValue)
                            {
                                id = subFolder.UniqueId;
                                break;
                            }
                        }
                        SPFolder myFolder = myWeb.GetFolder(id);
                        SPFile file= myFolder.Files.Add(fileName,contents);
                        SPListItem item = file.Item;
                        string bumeng = TextBox1.Text.ToString();
                        item["部门"]= bumeng;
                        item.Update();
                       
                    }
                    //设置列表权限的
                    AddedPermission(myWeb,list,fileName);
                }
            });
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if(FileUpload1.FileName ==string.Empty)
            {
                ShowMessage("请上传您要上传的文件");
                return;
            }
            string fileName = FileUpload1.FileName;
            string filePath = FileUpload1.PostedFile.FileName;
            string fileType = fileName.Substring(fileName.LastIndexOf('.') + 1, 3).ToLower();
            if (fileType != "doc" && fileType != "docx")
            {
                ShowMessage("您上传的文件类型不正确,请重选上传的文件");
                return;
            }
            else
            {
                UploadFile(filePath, "http://foxconn-shentan/Docs/Documents/", fileName);
                ShowMessage("上传成功");
            }
        }
    }
}

 

转载于:https://www.cnblogs.com/shentanyi/archive/2009/06/24/1510475.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
众所周知,人工智能是当前最热门的话题之一, 计算机技术与互联网技术的快速发展更是将对人工智能的研究推向一个新的高潮。 人工智能是研究模拟和扩展人类智能的理论与方法及其应用的一门新兴技术科学。 作为人工智能核心研究领域之一的机器学习, 其研究动机是为了使计算机系统具有人的学习能力以实现人工智能。 那么, 什么是机器学习呢? 机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析、DNA 序列预测、蛋白质结构预测等 自动化领域----人脸识别、无人驾驶技术、图像处理、信号处理等 金融领域----证券市场分析、信用卡欺诈检测等 医学领域----疾病鉴别/诊断、流行病爆发预测等 刑侦领域----潜在犯罪识别与预测、模拟人工智能侦探等 新闻领域----新闻推荐系统等 游戏领域----游戏战略规划等 从上述所列举的应用可知,机器学习正在成为各行各业都会经常使用到的分析工具,尤其是在各领域数据量爆炸的今天,各行业都希望通过数据处理与分析手段,得到数据中有价值的信息,以便明确客户的需求和指引企业的发展。
众所周知,人工智能是当前最热门的话题之一, 计算机技术与互联网技术的快速发展更是将对人工智能的研究推向一个新的高潮。 人工智能是研究模拟和扩展人类智能的理论与方法及其应用的一门新兴技术科学。 作为人工智能核心研究领域之一的机器学习, 其研究动机是为了使计算机系统具有人的学习能力以实现人工智能。 那么, 什么是机器学习呢? 机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析、DNA 序列预测、蛋白质结构预测等 自动化领域----人脸识别、无人驾驶技术、图像处理、信号处理等 金融领域----证券市场分析、信用卡欺诈检测等 医学领域----疾病鉴别/诊断、流行病爆发预测等 刑侦领域----潜在犯罪识别与预测、模拟人工智能侦探等 新闻领域----新闻推荐系统等 游戏领域----游戏战略规划等 从上述所列举的应用可知,机器学习正在成为各行各业都会经常使用到的分析工具,尤其是在各领域数据量爆炸的今天,各行业都希望通过数据处理与分析手段,得到数据中有价值的信息,以便明确客户的需求和指引企业的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值