Спрашивающий
Sharepoint App - как работать с файлами в папках

Общие обсуждения
-
Добрый день!
Имеем Sharepoint Online 2013.
Стоит задача:
Есть список TestGallery2 (Библиотека рисунков). В ней созданы папки - каждая папка это как бы фотоальбом. Внутри папок соотв-но фотографии. Необходимо на сайте: вывести список альбомов (в соответствии с названиями папок), и при клике на какое либо название - отобразить фотографии из этого альбома.
Я смог справиться с задачей построения списка альбомов, а так же получением имени папки при клике на альбом. Но я не могу разобраться с тем, как выдёргивать файлы из папок, и как вообще с ними работать. Вот мой текущий код:
'use strict'; var web; var hostweburl; var appweburl; var a_id; // This code runs when the DOM is ready and creates a context object which is // needed to use the SharePoint object model $(document).ready(function () { hostweburl = decodeURIComponent(getQueryStringParameter('SPHostUrl')); appweburl = decodeURIComponent(getQueryStringParameter('SPAppWebUrl')); var scriptbase = hostweburl + '/_layouts/15/'; $.getScript(scriptbase + 'SP.Runtime.js', function () { $.getScript(scriptbase + 'SP.js', function () { $.getScript(scriptbase + 'SP.RequestExecutor.js', printListGallery); } ); } ); }); function getQueryStringParameter(param) { var params = document.URL.split("?")[1].split("&"); var strParams = ""; for (var i = 0; i < params.length; i = i + 1) { var singleParam = params[i].split("="); if (singleParam[0] == param) { return singleParam[1]; } } } function printListGallery() { var context; var factory; var appContextSite; var collList; context = new SP.ClientContext(appweburl); factory = new SP.ProxyWebRequestExecutorFactory(appweburl); context.set_webRequestExecutorFactory(factory); appContextSite = new SP.AppContextSite(context, hostweburl); this.web = appContextSite.get_web(); collList = this.web.get_lists(); context.load(collList); var listItemCollection; var selectedList = "TestGallery2"; var selectedListTitle = collList.getByTitle(selectedList); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml("<View><ViewFields>" + "<FieldRef Name='Title' />" + "<FieldRef Name='Created' />" + "<FieldRef Name='Test' />" + "</ViewFields></View>')"); listItemCollection = selectedListTitle.getItems(camlQuery); context.load(listItemCollection, "Include(Title, Created, Test)"); context.executeQueryAsync( Function.createDelegate(this, onGetItemsSuccess), Function.createDelegate(this, onGetItemsFail) ); function onGetItemsSuccess() { var listInfo = ''; var listItemEnumerator = listItemCollection.getEnumerator(); while (listItemEnumerator.moveNext()) { listInfo += '<li><a href="#" class="click" id="' + listItemEnumerator.get_current().get_item('Title') + '">' + listItemEnumerator.get_current().get_item('Title') + '</a> | ' + listItemEnumerator.get_current().get_item('Created') + '</li>'; } document.getElementById("message").innerHTML = '<ul>' + listInfo + '</ul>'; } function onGetItemsFail(sender, args) { alert('failed to get items. Error:' + args.get_message()); } $("a.click").live("click", function () { a_id = $(this).attr('id'); ViewAllFiles(a_id); }); function ViewAllFiles(folder) { document.getElementById("message2").innerHTML = folder; } }
Функцию ViewAllFiles оставил пустой, дабы не смущать вас своими бреднями. Суть моего вопроса: помогите научиться выдирать URLы фотографий в папках, или хотя бы получать имена файлов, зная имя папки. Или приведи пример как обратится к элементу списка, если этот элемент - файл.- Изменено kert84 20 сентября 2013 г. 13:06
- Перемещено Иван ПродановMicrosoft contingent staff, Moderator 23 сентября 2013 г. 7:13
- Изменен тип Иван ПродановMicrosoft contingent staff, Moderator 24 сентября 2013 г. 6:12
20 сентября 2013 г. 12:45
Все ответы
-
Тема перенесена на MSDN.
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
23 сентября 2013 г. 7:14Модератор