是否可以使用jquery将文件上传到SharePoint文档库

本文关键字:SharePoint 文档 文件 可以使 jquery 是否 | 更新日期: 2023-09-27 18:27:51

是否可以使用jquery代码将文档上载到SharePoint文档库?

客户端是否有与asp:fileupload等效的控件来选择文件?

目标如下:
1) 解决方案应该是我粘贴的代码块;而不是Web部件或编译的解决方案或应用程序
2) 我不想使用本机SharePoint文件上传或编辑表单页面来设置元数据。

创建一个新的SharePoint aspx页面,该页面包含:

  • 使用户能够以特定硬编码用户的身份将所选文件上载到特定的SharePoint文档库
  • 如果出现以下情况,请将文件重命名为某个随机唯一序列:
  • 该文件不存在
  • 文件必须是特定的文件类型(pdf)
  • 必须能够为文件设置一些元数据列值

这些链接让我相信这是可能的:

http://msdn.microsoft.com/en-us/library/ms454491(v=office.14).aspx

http://blog.yahoo.com/lamung/articles/91696

通过内置web服务将文件上载到SharePoint

我会为一个有效的解决方案付费。理想情况下,只有客户端代码使用web服务。

是否可以使用jquery将文件上传到SharePoint文档库

以下代码将pdf上传到文档库。这可能会对你有所帮助

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script><script src="/Style%20Library/jquery.SPServices-0.6.2.min.js" type="application/javascript"></script><script src="/Style%20Library/jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
   function uploadFile() {
    var filePath = "c:''test.pdf";
    var url= "http://Site/Shared Documents/test.pdf";
    var soapEnv =
    "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> '
        <soap:Body>'
            <CopyIntoItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>'
                <SourceUrl>" + filePath + "</SourceUrl>'
                    <DestinationUrls>'
                        <string> "+ url + "</string>'
                    </DestinationUrls>'
                    <Fields>'
                        <FieldInformation Type='Text' DisplayName='Title' InternalName='Title' Value='Test' />'
                    </Fields>'
                <Stream>base64Binary</Stream>'
            </CopyIntoItems>'
        </soap:Body>'
    </soap:Envelope>";
    $.ajax({
        url: "http://site/_vti_bin/copy.asmx",
        beforeSend: function (xhr) { xhr.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems"); },
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        complete: processResult,
        contentType: "text/xml; charset='"utf-8'""
    });
    alert(soapEnv);
}

function processResult(xData, status) {
    alert("Uploaded SuccessFully");
}
 </script>
<input name="Upload" onclick="uploadFile()" type="button"/>

你可以用我的两个项目来完成:

  1. FileToDataURI:一个从用户读取文件的跨浏览器解决方案(现代浏览器使用FileAPI,旧浏览器使用Flash)。。。它将读取本地文件的内容
  2. SharepointPlus createFile():将读取的内容上传到Sharepoint

我把它用于我的一个Sharepoint网站(内联网),它适用于所有浏览器。