C# Kentico 8.2镜像到base64

C# Kentico 8.2镜像到base64,c#,image,base64,kentico,vcf-vcard,C#,Image,Base64,Kentico,Vcf Vcard,我正在尝试将图像转换为base64,以便在vCard(版本4)中显示它。我试过使用: MediaFileInfo imageFile = MediaFileInfoProvider.GetMediaFileInfo(SiteContext.CurrentSiteName, filePath, null); 但是imageFile.FileBinary为空(其他所有内容,例如FileSize、ID、GUID等都是正确的)。你知道为什么会这样吗 我还尝试使用文件流: FileStream file

我正在尝试将图像转换为base64,以便在vCard(版本4)中显示它。我试过使用:

MediaFileInfo imageFile = MediaFileInfoProvider.GetMediaFileInfo(SiteContext.CurrentSiteName, filePath, null);
但是
imageFile.FileBinary
为空(其他所有内容,例如
FileSize
ID
GUID
等都是正确的)。你知道为什么会这样吗

我还尝试使用
文件流

FileStream file = FileStream.New(filePath, FileMode.Open, FileAccess.Read);
Image imageFile = Image.FromStream(file.SystemStream);
我在这里遇到的问题是,它似乎期望
filePath
是一个绝对路径。我必须使用相对路径


是否有更好的方法来执行此操作?

您是否将图像存储在数据库中?如果不是,则二进制文件将始终为空。至于FileStream方法,它必须是磁盘的绝对路径,因为System.IO就是这样工作的。您可以通过多种方式获得绝对路径(Server.MapPath等),这可能会帮助您获得所需的值。谢谢。图像没有存储在这个项目的数据库中,所以看起来我必须使用FileStream/System.IO。