2014-10-20 78 views
0

我有一堆存储在Ektron库中的图像。我试图在幻灯片放映中的一个网页上显示这些图像。下面是我有: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> 

图片网址,我拉不工作,虽然。找不到路径。对于图像的路径是这样的:

/uploadedimages/Alumni/001.jpg 

我的身影,他们选择了不显示的原因是因为我没有一个uploadedimages文件夹在我的项目,而该文件夹位于晔,不过我还是要说不知道要改变图像来显示图像。

+0

我建议你在img src属性中插入一个容器生成的URL,看看是否会得到显示的图像。我怀疑需要设置URL才能正常访问文件夹。 – Brinky 2014-10-20 20:27:38

+0

请解释一下你的设置。你说你没有uploadedimages文件夹?你是不是在Ektron网站上运行这个代码? – 2014-10-21 08:53:31

回答

1

Ektron认为图像默认为本地图像。

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

或:

如果晔安装是不公开的,如在3层部署,那么你有三种选择:

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