Holen Sie sich den Dateinamen aus Dokument Bibliothek
Ich habe eine Dokumentbibliothek mit dem Namen DocLibrary. Innen habe ich paar Ordner erstellt. Jeder Ordner 3 weitere Ordner. Im inneren, dass ich die Speicherung der Dateien. Beispiel: DocLibrary > NF1> Kommunikation, wo DocLibrary ist die Dokument-Bibliothek, NF1 ist, den Ordner in DocLibrary und Kommunikation ist, den Ordner in NF1.
Nun möchte ich den download-link zu einer bestimmten Datei im Ordner "Kommunikation", sortiert nach dem änderungsdatum. Ich bin vor problem, wie gehe Communications Ordner und wählen Sie dann Datei name.
Ich bin mit java-script.
Jetzt bin ich unter den unten angegebenen code. Aber ich bin ganz neu hier und haben nur begrenzte Ideen auf Wie zu nähern. Bitte helfen.
function test1()
{
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle('DocLibrary');
var query = SP.CamlQuery.createAllItemsQuery();
query.set_folderServerRelativeUrl('/DocLibrary/NF1/Communications/');
allItems = list.getItems(query);
alert('hi');
context.load(allItems);
context.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed));
}
function success()
{
var fileUrls = '';
var ListEnumerator = this.allItems.getEnumerator();
while(ListEnumerator.moveNext())
{
var currentItem = ListEnumerator.get_current();
var _contentType = currentItem.get_contentType();
if(_contentType.get_name() != 'Folder')
{
var File = currentItem.get_file();
if(File != null)
{
fileUrls += File.get_serverRelativeUrl() + '\n';
}
}
}
alert(fileUrls);
}
function failed(sender, args) {
alert('failed. Message:' + args.get_message());
}
InformationsquelleAutor Mahatma Aladdin | 2015-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie mit JavaScript, würde ich vorschlagen, dass Sie eine
GET
Anforderung an die SharePoint-REST-API zum abrufen der Informationen, die Sie wollen.Können Sie den Zugriff auf Ihr Dokument Bibliothek und Ordner einfach, indem Sie eine Anfrage an
http://siteUrl/_api/web/getfolderbyserverrelativeurl('Documents/NF1/Communications')/files?$orderby=TimeLastModified%20desc
Wenn Sie navigieren Sie zu der oben genannten URL in Ihrem browser, ersetzen
siteUrl
Ihre Websites mit real-URL, erhalten Sie eine Antwort im XML-format.Die Beantragung von JavaScript
Beachten Sie, dass diese Methode erfordert jQuery zu arbeiten, sonst würden Sie haben, um ein
XMLHttpRequest
auf den server.Machen die Anforderung von JavaScript, ein
$.ajax()
ist sehr einfach.Diese wird return ein array mit allen Dateien in Ihrem Ordner, sortiert nach dem Feld
TimeLastModified
, wo der eine mit der neuesten änderung Zeit auf die top-index. Die URL auf jede Datei zugegriffen werden kann, durch die__metadata.uri
- Eigenschaft für jedes Objekt im array.Im obigen code-Beispiel, das ich Durchlaufen und alle Dateien, die mit jQuery
$.each()
Funktion auf und gibt die URL der Datei in der Konsole. Je nachdem, was Sie wollen mit der URL, müssen Sie Ihren benutzerdefinierten code schreiben, gibt es.Können Sie die Referenz - MSDN - Dateien und Ordner und REST-API-Referenz wenn Sie möchten, erkunden Sie die REST-API weiter.
InformationsquelleAutor Daniel B
Einige Empfehlungen
1) Sie bauen könnten, die die Abfrage liefert, dass nur Dateien sortiert nach änderungsdatum:
2) Aus performance-Sicht, da Sie daran interessiert sind, die Eigenschaften der Datei, könnte man explizit angeben, welche Eigenschaften abrufen, zum Beispiel:
Modifizierten Beispiel
Nutzung
InformationsquelleAutor Vadim Gremyachev