1

我的模块设置控件上有一个 dnn:FilePicker。我可以从 FilePicker.FilePath 获取图像的路径。这给了我类似的东西:

/图像/标题/默认.jpg

我到底如何从那里去:

/[虚拟目录]/portals/0/Images/Header/Default.jpg

这似乎不是一件难事,但我无法在谷歌中找到正确的单词组合来获得答案。

现在我正在做类似的事情:

imgPhoto.ImageUrl = "http://"+PortalAlias.HTTPAlias+"/portals/0/"+DefaultHeaderImage;

其中 PortalAlias.HTTPAlias 解析为“localhost/[虚拟目录]”,而 DefaultHeaderImage 是保存从 FilePicker.FilePath 保存的值的属性

我读过使用 Alias 是个坏主意,而且我根本不喜欢使用完全限定的 URL 而不是相对 URL。

必须有更好的方法。

4

2 回答 2

2

我使用以下代码获取我使用 dnn:FilePicker 上传的图像的相对路径:

using DotNetNuke.Services.FileSystem;
...

var image = (FileInfo)FileManager.Instance.GetFile(FilePicker.FileID);
if (image != null)
{
    imgPhoto.ImageUrl = FileManager.Instance.GetUrl(image);
}

如果您需要完整的网址,我使用以下代码:

string baseUrl = (Request.IsSecureConnection ? "https://" : "http://") + base.PortalAlias.HTTPAlias;
var image = (FileInfo)FileManager.Instance.GetFile(FilePicker.FileID);
if (image != null)
{
    imgPhoto.ImageUrl = baseUrl + FileManager.Instance.GetUrl(image);
}
于 2013-11-13T00:51:51.533 回答
0
var img_Name = (FileInfo)FileManager.Instance.GetFile(FilePicker.FileID)

"FilePicker" 将是你的 DnnFilePicker 的 ID

于 2018-11-12T10:32:21.223 回答