SharePoint 2010 使用客户端对象模型ECMAScript复制文件
2011-11-08 16:42 四毛的家 阅读(411) 评论(0) 编辑 收藏 举报/// <reference path="D:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\MicrosoftAjax.js" />
/// <reference path="D:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\SP.js" />
/// <reference path="D:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\SP.Core.js" />
function copyFile(sourceUrl, destinationUrl) {
var ctx, file, notifyId;
ctx = SP.ClientContext.get_current();
file = ctx.get_web().getFileByServerRelativeUrl(sourceUrl);
ctx.load(file);
// Set a notification to the user that we are going to copy the file.
notifyId = SP.UI.Notify.addNotification('Copying file...', true);
ctx.executeQueryAsync(
function (sender, args) {
// File loaded. Now we want to copy the file. We'll use a nested AJAX call
file.copyTo(destinationUrl, true);
ctx.executeQueryAsync(
function (sender, args) {
// File copied successfully!
SP.UI.Notify.removeNotification(notifyId);
// Let the user know that the operation was successful
SP.UI.Notify.addNotification('File copied successfully', false);
},
function (sender, args) {
// Unable to copy file.
SP.UI.Notify.removeNotification(notifyId);
showError(args.get_message());
});
},
function (sender, args) {
// Unable to locate file.
SP.UI.Notify.removeNotification(notifyId);
showError(args.get_message());
});
}
function showError(msg) {
var statusId;
statusId = SP.UI.Status.addStatus('File Copy Error:', msg);
SP.UI.Status.setStatusPriColor(statusId, 'red');
// Remove the error message after 5 seconds
window.setInterval(function(){SP.UI.Status.removeStatus(statusId);}, 5000);
}
原文参考:http://www.sharepointdevelopment.me/2011/05/working-with-files-in-sharepoint-from-ecma-script/