#asp.net-core
#asp.net-core
Вопрос:
Я хочу показать содержимое каталога, чтобы пользователи могли просматривать его и нажимать на файлы, чтобы загрузить их.
Есть ли решение в ASP.Net Core для этого?
Ответ №1:
Самое быстрое решение — добавить промежуточное программное обеспечение с помощью app.UseDirectoryBrowser();
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseDirectoryBrowser();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc();
}
Это дает следующий результат :
Более того, можно добавить путь запроса, чтобы он был включен в запрос.
app.UseDirectoryBrowser(requestPath:"/data");
то есть:https://localhost:44386/data /
Последнее: могут быть предоставлены поставщик файлов и средство форматирования файлов :
app.UseDirectoryBrowser(options:
new DirectoryBrowserOptions(
new SharedOptions()
{
// the IFileProvider class is a way to provide the files to be displayed
FileProvider = new MyFileProvider()
}
)
{
// The IFileFormatter implementation is a way to customize presentation of the directory
RequestPath = "/data2",
Formatter = new MyFileFormatter()
}
);