获取 umbraco 中上传文件字段的上传 KB/MB 值
Get uploaded KB/MB value of uploaded file field in umbraco
正在尝试上传 KB/MB umbraco 中上传字段的值。
如果我们获取项目的文件大小,下面的代码工作正常,但我想要上传字段的文件大小@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>
}
如果您在 Umbraco 中使用 built-in 媒体类型,您应该能够从 umbracoBytes
属性 中获取大小,只要您使用 [=11] =] 或 Image
媒体类型。
不过听起来您的 属性 是直接存在于文档类型上的 Umbraco.UploadField
,这意味着它没有可用的文件大小。
在您的情况下,我会在您的类型中添加一个 属性,名为:uploadPDFbytes
,然后创建一个 IApplicationHandler
并挂接到 Saving
事件。然后在保存存储 PDF 文件的内容时 - 我会确保此处理程序检查正在保存的文件的文件大小并将其放入 uploadPDFbytes
属性 (非常类似于 Umbraco 对其所做的自己的媒体上传)。现在您可以通过检查 uploadPDFbytes
属性.
来获取上传的 PDF 的文件大小
正在尝试上传 KB/MB umbraco 中上传字段的值。
如果我们获取项目的文件大小,下面的代码工作正常,但我想要上传字段的文件大小@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>
}
如果您在 Umbraco 中使用 built-in 媒体类型,您应该能够从 umbracoBytes
属性 中获取大小,只要您使用 [=11] =] 或 Image
媒体类型。
不过听起来您的 属性 是直接存在于文档类型上的 Umbraco.UploadField
,这意味着它没有可用的文件大小。
在您的情况下,我会在您的类型中添加一个 属性,名为:uploadPDFbytes
,然后创建一个 IApplicationHandler
并挂接到 Saving
事件。然后在保存存储 PDF 文件的内容时 - 我会确保此处理程序检查正在保存的文件的文件大小并将其放入 uploadPDFbytes
属性 (非常类似于 Umbraco 对其所做的自己的媒体上传)。现在您可以通过检查 uploadPDFbytes
属性.