Link blog.vitalyzhukov.ru

Блог переехал вот сюда: Blog.VitalyZhukov.ru

15 мая 2011 г.

Получение размера вложений SPListItem'а

Что делаем
Получаем размер вложений элемента списка.



Делаем
Все вложения элемента SharePoint хранит в папке, путь к которой формируется следующим образом:
<Путь_к_списку>/Attachments/<ID_элемента>
Таким образом задача сводится к получению размера папки. Для удобства можно написать метод-расширитель, примерно вот такой:


public static class SPListItemExtensions
{
    public static long AttachmentsSize(this SPListItem item)
    {
        var folderUrl = item.Attachments.UrlPrefix;
        var list = item.ParentList;
        var web = list.ParentWeb;
        var folder = web.GetFolder(folderUrl);
        var length = folder.Files.Cast<SPFile>().Sum(f => f.TotalLength);
        return length;
    }
}

И использовать его:

var totalSize = item.AttachmentsSize();

Комментариев нет:

Отправить комментарий