是否可以使用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服务。
以下代码将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"/>
你可以用我的两个项目来完成:
- FileToDataURI:一个从用户读取文件的跨浏览器解决方案(现代浏览器使用FileAPI,旧浏览器使用Flash)。。。它将读取本地文件的内容
- SharepointPlus
createFile()
:将读取的内容上传到Sharepoint
我把它用于我的一个Sharepoint网站(内联网),它适用于所有浏览器。