Frage

I have an SPList. How I can get attachment URLs for every item in the list?

War es hilfreich?

Lösung

Keep in mind that bit of code might be slow depending on the size of the list:

foreach (SPListItem listItem in list.Items)
{
    var attachmentURLs = GetAttachmentUrls(listItem)
}

private IEnumerable<string> GetAttachmentUrls(SPListItem item)
{
  return from string fileName in item.Attachments
         orderby fileName
         select SPUrlUtility.CombineUrl(item.Attachments.UrlPrefix, fileName);
}

Credit to this post: How do I get the url for attachments on an SPListItem using C#? I just added a foreach loop.

Andere Tipps

You can get list item attachments using REST api as in below code:

var url = url + "/_api/web/lists/getbytitle('ListTitle')/items(1)/AttachmentFiles";

$.ajax({
    url: url,
    accepts: {
        json: "application/json;odata=verbose"
    },
    method: "GET",
    success: onQuerySuccess,
    error: onQueryError
});

function onQuerySuccess(data) {
    if (data) {
        $.each(data.d.results, function () {
            // do something
            this.ServerRelativeUrl;
        });
    }
}

Here "items(1)" is the id of the list item

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top