在Orchard的自定义模块中显示媒体库文件大小

时间:2013-12-26 07:11:29

标签: orchardcms orchardcms-1.7

我有员工的自定义模块,我想在网格视图中的员工列表上显示简历文档。

如何获取文件大小?我使用媒体库上传简历。有人可以帮我吗

感谢

1 个答案:

答案 0 :(得分:2)

请按照以下代码获取文件大小。 在ABCPart.cs中添加属性(public string FileSize { get; set; }

获取记录列表后,添加以下代码以获取文件大小。

 int cnt = 0;
        foreach (var item in lstDocument)
        {
            var b = item.Fields.Single(f => f.Name == "YourMediaLibararyPickerFieldName");
            if (item.Fields.Single(f => f.Name == "YourMediaLibararyPickerFieldName") != null)
            {
                var field = _contentManager.Get(((Orchard.MediaLibrary.Fields.MediaLibraryPickerField)item.Fields.Single(f => f.Name == "YourMediaLibararyPickerFieldName")).Ids[0]);
                if (field != null && field.ContentType == "Document")
                {
                    long a = ((Orchard.MediaLibrary.Models.DocumentPart)_contentManager.Get(((Orchard.MediaLibrary.Fields.MediaLibraryPickerField)item.Fields.Single(f => f.Name == "YourMediaLibararyPickerFieldName")).Ids[0]).As<Orchard.MediaLibrary.Models.DocumentPart>()).Length;
                    lstDocument[cnt].FileSize = (a / 1024).ToString() + " KB";
                }
                else
                {
                    lstDocument[cnt].FileSize = "-";
                }
            }
            else
            {
                lstDocument[cnt].FileSize = "-";
            }
            cnt++;
        }