我有一个 asp.net core webapp,它使用我的目录浏览器功能设置,Startup.cs如下所示。
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "youtubeDLs")),
RequestPath = "/Downloads"
});
Run Code Online (Sandbox Code Playgroud)
我将其表面化为这样的部分。
<div id="dynamicContentContainer"></div>
<script>
setTimeout(function () {
$("#dynamicContentContainer").load("/Downloads")
}, 2800);
</script>
Run Code Online (Sandbox Code Playgroud)
这太棒了,我有我想要的文件浏览器,它很可爱。
但是,我对文件排序没有任何控制权,我喜欢对DateModified或上的文件进行排序DateCreated。
我在 MSDN 上搜索了API Catalog ,但没有找到任何内容。难道这只是我无法控制的事情吗?
你可以简单地覆盖HtmlDirectoryFormatter
public class SortedHtmlDirectoryFormatter : HtmlDirectoryFormatter
{
public SortedHtmlDirectoryFormatter(HtmlEncoder encoder) : base(encoder) { }
public override Task GenerateContentAsync(HttpContext context, IEnumerable<IFileInfo> contents)
{
var sorted = contents.OrderBy(f => f.LastModified);
return base.GenerateContentAsync(context, sorted);
}
}
Run Code Online (Sandbox Code Playgroud)
并在您的应用程序中使用它:
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = staticPathProvider,
RequestPath = "/Downloads",
Formatter = new SortedHtmlDirectoryFormatter(HtmlEncoder.Default)
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
559 次 |
| 最近记录: |