【发布时间】:2018-07-27 11:39:49
【问题描述】:
尝试获取 umbraco 中已上传字段的已上传 KB/MB 值。
如果我们要获取项目的文件大小,但我想要上传字段@item.GetPropertyValue("uploadPDF") 的文件大小,下面的代码可以正常工作,我该怎么做?
@foreach (var item in selection){
// Get uploaded file size in MB
var bytes = Convert.ToInt64(@item.GetPropertyValue<string>("umbracoBytes"));
var x = ((Math.Round(Convert.ToDecimal(@bytes) / 1048576, 1)).ToString() + " MB");
var y = ((Math.Round(Convert.ToDecimal(@bytes) / 1024, 1)).ToString() + " KB");
var fileSize = (bytes >= 1048576) ? x : y;
// Loop through items and iterate
var pdf = @item.GetPropertyValue("uploadPDF");
<div class="full-div">
<a href="@pdf" target="_blank">
<img src="/images/pdf_icon.png" alt="">
@item.Name (@fileSize)
// Get the file size of the pdf field instead of the item field
</a>
</div>
}
【问题讨论】:
-
您能解释一下您的
uploadPDF属性所附加的媒体类型或文档类型的结构吗?如果它在媒体类型上(例如Image),那么它是在umbracoFile属性之外的吗?umbracoBytes属性实际上只适用于媒体类型,并且在 Umbraco 内部与umbracoFile属性一起使用。 -
这是一个上传属性(Umbraco.UploadField),我正在上传PDF文档
标签: c# asp.net razor umbraco umbraco7