关于上传的种种(一)
在一个应用中,上传可以说是必不可少的。下面讲述我第一种常用的上传方式:调用SharePoint自带的页面RteUploadDialog.aspx,首先我们看一下页面的截图
当然我们看到的这个页面时SharePoint自带的弹窗页面,弹出的代码如下:
function openDialog() {
var options = {
url: "/_layouts/RteUploadDialog.aspx?IsDlg=1&Source=http://Text/Doc/F6FC38FE-B9F4-4B3A-92BC-7D39593D511E.aspx&UseDivDialog=true",
width: 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那么弹出窗体默认名称为:上传文档,他读得是资源文件如下图:
它总共有三个参数可以选择分别是:CreateLink、InsertImage、InsertTable,通过反编译代码我们得知他们对应着资源文件中的RteDialog_开头的几个节点
this.PageTitle.Text = SPHttpUtility.HtmlEncode(base.GetResourceString("RteDialog_" + scriptLiteralToEncode + "_PageTitle", new object[0]));
LCID:指定语言环境
到此基本就介绍完了,当然还可以开发很多有趣的功能。