簡體   English   中英

從 episerver blob 文件獲取圖像的 URL 路徑

[英]Get URL path for image from episerver blob file

我在我的代碼中使用以下方法創建一個 blob 文件

添加到 Blob

 Thumbnail = MediaToBlob(thumbMediaUrl, accessToken, ".jpg", blobFactory, qbankMedia, "text/html");
                                    blobCache.Add(videoMediaUrl, qbankMedia.BinaryData);

MediaToBlob 方法

public Blob MediaToBlob(string mediaUrl, string accessToken, string extension, IBlobFactory blobFactory, IQBankEpiMedia qbankMedia, string mimeType, int maxLength = int.MaxValue)
        {
            var mediaStream = GetMediaStream(mediaUrl, accessToken, mimeType, maxLength);

            Blob blob = null;

            if (mediaStream != null)
            {
                blob = blobFactory.CreateBlob(qbankMedia.BinaryDataContainer, extension);

                using (var blobStream = blob.OpenWrite())
                {
                    byte[] buffer = new byte[64 * 1024];
                    int read;
                    while ((read = mediaStream.Read(buffer, 0, buffer.Length)) > 0)
                        blobStream.Write(buffer, 0, read);
                    mediaStream.Flush();
                    mediaStream.Close();
                }
            }

            return blob;
        }

我需要獲得此縮略圖 object 的相對路徑,以便我可以使用它在站點中呈現圖像。 我可以使用 Thumbnail.ID.AbsoluteUri 來獲取:

epi.fx.blob://default/f791355aa6334c92b5f370c5cfafd971/adc882777a04431baae83a2e05f3f02d.jpg

取而代之的是,我需要這樣的東西:

http://localhost:8000/episerver/f791355aa6334c92b5f370c5cfafd971/adc882777a04431baae83a2e05f3f02d.jpg

任何人都可以指導我擁有可以正常使用的圖像 Url 嗎?

您可以通過將屬性名稱附加到 URL 來訪問縮略圖屬性:

private readonly IUrlResolver _urlResolver;

var thumbnailUrl = _urlResolver.GetUrl(imageContentReference) + "/thumbnail";

這適用於您的內容類型可能具有的任何縮略圖屬性。 “縮略圖”是 ImageData 上可用的默認屬性。

當您將圖像或媒體文件加載到 Episerver 中時,它將被視為內容,它將具有內容引用,因此您還可以使用它獲取資產。 因此,當將文件保存到 blob 時,您應該使用它來保存媒體內容。 然后,您可以像獲取 episerver 中的任何內容一樣獲取 url。

我建議查看 Jon 的這兩篇博文

如何通過代碼將圖片上傳到episerver cms

如何在 episerver 中獲取圖像的 url

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM