【问题标题】:Ektron Library images not displaying; filepath not foundEktron 库图像未显示;找不到文件路径
【发布时间】:2014-12-15 18:45:39
【问题描述】:

我有一堆图像存储在 Ektron 的库中。我正在尝试以幻灯片的形式在我的一个网页上显示这些图像。这是我所拥有的:

public partial class WebAssets_UserControls_uxSlideShow : System.Web.UI.UserControl
{
    public List<String> images { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        List<LibraryData> libraryImageList = GetLibraryDataList(1);

        var imageList = (from im in libraryImageList
            where im.FolderName == "Alumni"
            select im).ToList();

        var imageUrls = imageList.Select(image => image.FileName).ToList();

        SlideShowRepeater.DataSource = imageUrls;
        SlideShowRepeater.DataBind();

    }

    private List<LibraryData> GetLibraryDataList(int libraryTypeId)
    {
        LibraryManager libraryManager = new LibraryManager(ApiAccessMode.LoggedInUser);
        LibraryCriteria criteria = new LibraryCriteria(LibraryProperty.Id, EkEnumeration.OrderByDirection.Descending);
        criteria.AddFilter(LibraryProperty.TypeId, CriteriaFilterOperator.EqualTo, libraryTypeId);
     //   criteria.AddFilter(LibraryData.FolderName, CriteriaFilterOperator.EqualTo, libraryFolderName);
        List<LibraryData> libraryDataList = libraryManager.GetList(criteria);
        return libraryDataList;
    }

}

还有 HTML...

<div id="slideShowImages" class="flexslider">
    <ul class="slides">
        <asp:Repeater ID="SlideShowRepeater" runat="server">
            <ItemTemplate>
                <li>
                    <img alt="Alumni Events" src="<%# Container.DataItem %>" height="240" width="632" />
                </li>
            </ItemTemplate>
        </asp:Repeater>
    </ul>
</div>

我提取的图片 URL 不起作用。找不到路径。图片的路径如下所示:

/uploadedimages/Alumni/001.jpg

我认为它们不显示的原因是因为我的项目中没有 uploadimages 文件夹,而是该文件夹位于 Ektron 中,但我不知道要更改什么才能显示图像。

【问题讨论】:

  • 我建议您在 img src 属性中插入容器生成的 URL 之一,看看是否会得到显示的图像。我怀疑需要设置 URL 才能正确到达文件夹。
  • 请多解释一下您的设置。你说你没有uploadimages文件夹?您不是在 Ektron 网站内运行此代码吗?

标签: c# image path directory ektron


【解决方案1】:

Ektron 默认假定图像是本地的。

您必须将路径修改为绝对路径,前提是您的 Ektron 实例是公开的,例如http://www.example.com/uploadedImages/Alumni/001.jpg

或:

如果 Ektron 安装不是公开的,例如在 3 层部署中,那么您有三个选择:

  1. 让您的应用程序发出 Web 请求,实质上充当代理,将 Ektron 安装中的文件提供给客户端。
  2. 使用 Robocopy 或 XCopy 等工具将文件从 Ektron 移动到您的应用程序中。您甚至可以通过Ektron Extension (aka Strategy) 将文件从您的 Ektron 服务器提升到您的项目中。在文档中,展开全部并在页面内搜索 LibraryStrategy
  3. 使用 IIS 中的网络共享或虚拟目录,以允许应用程序的行为就像文件是项目的本地文件一样,即使它们仍托管在 Ektron 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2011-05-10
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多