0

如何在不硬编码文件路径的情况下浏览此文件夹以选择元素?例如,如果 app.data 有一个名为 img 的文件夹,我想在我的页面上显示该文件夹中的所有图像,我的想法是将这些元素添加到 javascript 数组并使用 ng-repeat 来显示这些元素。为了做到这一点,我尝试了一些简单的 javascript:

 var imageCount = 4;
    for (var i = 1; i <= imageCount; i++) {
        var imagePath = "data/Contents/Splash/img0" + i + ".png";
        var image = { image: imagePath };
        };

        $scope.images.push(image)
    }

但这仍然取决于我提供 imageCount。我可以以某种方式遍历此文件夹并计算元素并将其存储在 imageCount 中吗?基于谷歌搜索,看起来我可能无法在 javascript 中完成这一切(访问本地文件夹),因为这将是一个巨大的安全威胁。

此应用程序的 c# 后端将所需的所有内容放入 app.data 文件夹中。例如,主页文件夹中有 3 个文件:

      01_TabSection1 (a folder)

      02_TabSection2 (a folder)

      03_Splash (image)

有没有一种方法可以遍历文件夹,查找特定的前缀或文件类型或文件夹名称(如果存在),这样我就可以构建一个 url 引用以在我的 HTML 视图中使用这些文件夹中的元素?

我看这一切都错了吗?这项工作应该用更多的c#来完成,还是使用http get requests、ajax、json?我刚刚遇到了一些遍历文件夹的 php 示例。出于某种原因,当我最初开始时,我认为我可以使用 javascript 浏览本地文件夹。

感谢您的宝贵时间,如果我的知识中有一些明显的漏洞,请见谅。

4

1 回答 1

0

首先,您不能仅使用其名称和文件名来访问任何 ASP.Net 文件夹的内容。但是,如果您的文件夹不是 ASP.Net 文件夹,那么您可以按照我下面的建议访问它。

  1. 在控制器中创建一个数组,例如$scope.ImageList=[]
  2. 创建一个 web api 或任何将返回图像列表并将其分配给该数组的操作。(如果您在客户端拥有所有图像,那么您可以将图像的路径推送到该数组中)

并在视图使用ng-repeat指令中渲染图像

<ul>
 <li ng-repeat="item in ImageList">
     <img ng-src="item" />
  </li>
</ul>
于 2015-01-27T12:53:38.300 回答