yavsc/Yavsc/Startup/Startup.FileServer.cs

36 lines
1.2 KiB
C#
Raw Normal View History

using System.IO;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.FileProviders;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.StaticFiles;
namespace Yavsc
{
public partial class Startup
{
public static string UserFilesDirName { get; private set; }
2016-09-23 12:32:17 +02:00
public static FileServerOptions UserFilesOptions { get; private set; }
2016-11-07 19:34:56 +01:00
public void ConfigureFileServerApp(IApplicationBuilder app,
SiteSettings siteSettings, IHostingEnvironment env)
{
2016-09-23 12:32:17 +02:00
UserFilesDirName = Path.Combine(
env.WebRootPath,
2016-09-23 12:32:17 +02:00
siteSettings.UserFiles.DirName);
2016-07-29 15:49:30 +02:00
2016-09-23 12:32:17 +02:00
var rootInfo = new DirectoryInfo(UserFilesDirName);
if (!rootInfo.Exists) rootInfo.Create();
2016-07-29 15:49:30 +02:00
2016-09-23 12:32:17 +02:00
UserFilesOptions = new FileServerOptions()
2016-07-29 15:49:30 +02:00
{
2016-09-23 12:32:17 +02:00
FileProvider = new PhysicalFileProvider(UserFilesDirName),
RequestPath = new PathString("/" + siteSettings.UserFiles.DirName),
2016-08-03 16:38:25 +02:00
EnableDirectoryBrowsing = env.IsDevelopment()
2016-09-23 12:32:17 +02:00
};
app.UseFileServer(UserFilesOptions);
app.UseStaticFiles();
}
}
}