gpt4 book ai didi

tridion - 从 Razor 模板获取二进制文件的全名,包括扩展名

转载 作者:行者123 更新时间:2023-12-02 16:01:31 25 4
gpt4 key购买 nike

我正在使用在 SO ( here ) 上找到的技术从 Razor 模板发布二进制文件。除了一个小缺点之外,它工作得很好。

我想推送一个项目,该项目的文件名已上传到 Tridion。我可以使用大部分内容的标题,但如何确定文件扩展名?在本例中,我需要知道模板中文件的名称,因为我将用它进行一些 javascript 操作。

同样,一切正常,但我想做一些除了连接“.jpg”之外的事情。看起来我可以解析 WebDavUrl 属性。这是我唯一的选择吗?

@{ 
var item1 = TridionHelper.Package.CreateMultimediaItem(@Fields.closed.ID);
TridionHelper.Package.PushItem(@Fields.closed.Title + ".jpg", item1);

string closed = @Publication.MultimediaUrl + "/"+(@Fields.closed.Title) + ".jpg";

}

最佳答案

您拥有 Razor Mediator 对 TOM.NET API 的完全访问权限,因此您还可以从组件的 BinaryContent 字段访问文件名。假设 @Fields.close 是一个多媒体组件链接,您可以执行以下操作:

@Fields.closed.TridionObject.BinaryContent.Filename

请注意,这将是上传的原始路径/文件名。您还可以访问 System.IO.Path,因此您可以:

@System.IO.Path.GetFileName(Fields.closed.TridionObject.BinaryContent.Filename)
@System.IO.Path.GetExtension(Fields.closed.TridionObject.BinaryContent.Filename)
@System.IO.Path.GetFileNameWithoutExtensions(Fields.closed.TridionObject.BinaryContent.Filename)

如果您有一个发布二进制文件的自定义 TBB,则必须小心,因为此 TBB 实际上可能会更改发布的文件名,并且 BinaryContent 的 Filename 属性将仅包含原始上传的路径和文件名。

关于tridion - 从 Razor 模板获取二进制文件的全名,包括扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15122799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com