关于上传的种种(一)

在一个应用中,上传可以说是必不可少的。下面讲述我第一种常用的上传方式:调用SharePoint自带的页面RteUploadDialog.aspx,首先我们看一下页面的截图

image

当然我们看到的这个页面时SharePoint自带的弹窗页面,弹出的代码如下:

function openDialog() {
            var options = {
                url: "/_layouts/RteUploadDialog.aspx?IsDlg=1&Source=http://Text/Doc/F6FC38FE-B9F4-4B3A-92BC-7D39593D511E.aspx&UseDivDialog=true",
                400,
                height: 300,
                dialogReturnValueCallback: onDialogClose
            };
            SP.UI.ModalDialog.showModalDialog(options);
        }

可以通过回调函数onDialogClose可以获取上传完成的路径,我反编译了这个页面的代码发现他是通过一个叫ReturnData的方法来返回上传成功的文件,大家可以反编译Microsoft.SharePoint.ApplicationPages.dll它位于C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\BIN下,并且查看RteUploadDialogPage.cs

OK,下面我们我们介绍一下几个主要的参数。

Source:上传文件的目录结构,如我上述代码中,他会在库中创建一个Doc文件夹,然后创建一个GUID的文件夹。

UseDivDialog:是否是窗口模式

Dialog:如果我们不写Dialog那么弹出窗体默认名称为:上传文档,他读得是资源文件如下图:

image

它总共有三个参数可以选择分别是:CreateLink、InsertImage、InsertTable,通过反编译代码我们得知他们对应着资源文件中的RteDialog_开头的几个节点

this.PageTitle.Text = SPHttpUtility.HtmlEncode(base.GetResourceString("RteDialog_" + scriptLiteralToEncode + "_PageTitle", new object[0]));

image

LCID:指定语言环境

image

到此基本就介绍完了,当然还可以开发很多有趣的功能。

原文地址:https://www.cnblogs.com/Believeme/p/2804786.html