Я хочу создать копию документа в библиотеке документов SharePoint.
По сути, давайте предположим, что есть шаблон, и каждый пользователь откроет документ, щелкнув по нему.Я хочу создать копию файла, который пользователь щелкнул, и откройте этот файл для редактирования.
Я попытался использовать Клиентская объектная модель JavaScript SharePoint .Но примеры предназначены для манипулирования элементами списка, но не для библиотеки документов.
Может ли кто-нибудь указать на любые источники, которые я могу использовать для манипулирования файлами в библиотеке документов
Единственное ограничение - мне нужно использовать JavaScript объектная модель или веб-сервисы для реализации этой функциональности.то есть NO серверный код
Ниже приведен код, который я получил до сих пор
- Подход, который я планирую использовать, заключается в копировании существующего файлового объекта
- Переименуйте его и
- Сохраните его в другой библиотеке документов
Пожалуйста, игнорируйте форматирование, поскольку я не могу сделать это правильно, и это находится в стадии разработки
<script type="text/javascript">
var clientContext = null;
var web = null;
var meetingItems = null;
var filePath = null;
var file = null;
debugger;
ExecuteOrDelayUntilScriptLoaded(Initialize, "sp.js");
function Initialize() {
clientContext = new SP.ClientContext.get_current();
web = clientContext.get_web();
this.list = web.get_lists().getByTitle("Documents");
clientContext.load(list, 'Title', 'Id');
var queryStart = "<View>"+ "<Query>"+ "<Where>"+ "<Eq>"+ "<FieldRef Name='Title'/>" + "<Value Type='Text'>";
var queryEnd = "</Value>"+ "</Eq>"+ "</Where>"+ "</Query>"+ "</View>";
camlQuery = new SP.CamlQuery();
queryMeeting = queryStart + 'DevCookbook'+ queryEnd;
camlQuery.set_viewXml(queryMeeting);
meetingItems = list.getItems(camlQuery);
clientContext.load(meetingItems);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onListLoadSuccess), Function.createDelegate(this, this.onQueryFailed));
}
function onListLoadSuccess(sender, args) {
filePath = meetingItems.get_item(0).get_path();
file = meetingItems.get_item(0);
debugger;
clientContext.load(file);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onFileLoadSuccess), Function.createDelegate(this, this.onFileFailed));
// alert("List title : " + this.list.get_title() + "; List ID : " + this.list.get_id());
// doclist();
}
function doclist()
{
var path = file.get_title();
path = meetingItems.get_item(0).get_file().get_title();
}
function onQueryFailed(sender, args) {
alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}
function onFileLoadSuccess(sender, args) {
debugger;
alert("List title : " + this.list.get_title() + "; List ID : " + this.list.get_id());
}
function onFileFailed(sender, args) {
alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>