【发布时间】:2016-06-01 03:08:32
【问题描述】:
我在一个文件夹中有文件,我想返回列表中每个文件的路径,并使用 JSON 获取它,现在我在扩展方法中有我所有模型的列表,所以我有:
public async Task<IList<Slider>> SliderGetList(Slider slider)
{
var model = await db.SlidersList.Where(x => x.IsVisible).OrderBy(x => x.Order).ToListAsync(); // there I get all list
return model;
}
控制器:
public async Task<ActionResult> SliderGetAll(Slider slider)
{
var model = await _sliderService.SliderGetList(slider);
return new JsonCamelCaseResult(model, JsonRequestBehavior.AllowGet);
}
我试试这些string[] filePaths = Directory.GetDirectories("~/Content/images/slider"); 这是我想在那里获取每个项目的路径的目录。我尝试了这些,但我只得到错误:
找不到路径“C:\Program Files (x86)\IIS Express\~\Content\images\slider”的一部分。
但我不想使用@:C// etc,因为我将它上传到服务器...
提前致谢
--------------编辑------------------ ---
我使用var filePaths = System.Web.HttpContext.Current.Server.MapPath("~/Content/images/slider"); 进入文件夹,但现在我不知道如何获取其中每个项目的 MapPath
【问题讨论】:
-
将此“~/Content/images/slider”更改为“Content/images/slider”。
-
我得到这些找不到路径“C:\Content\images\slider”的一部分。 @Dr.Stitch
-
请这样做 Server.MapPath("~/Content/images/slider");
-
旁注:您可能不应该将服务器路径返回给客户端,因为它对客户端完全无用并且存在潜在的安全风险(信息泄露,对于大多数人来说,安全根本不是问题)跨度>
-
首先我为 var 更改数组,因为 MapPath 没有得到它,最后我以
var filePaths = System.Web.HttpContext.Current.Server.MapPath("~/Content/images/slider");的方式执行,现在它进入 root,但现在我如何读取每个文件的每个补丁以返回它在一个列表中? @Dr.Stitch
标签: c# asp.net-mvc filepath