|
|
|
|
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; }
|
|
|
|
|
public static FileServerOptions UserFilesOptions { get; private set; }
|
|
|
|
|
public void ConfigureFileServerApp(IApplicationBuilder app,
|
|
|
|
|
SiteSettings siteSettings, IHostingEnvironment env)
|
|
|
|
|
{
|
|
|
|
|
UserFilesDirName = Path.Combine(
|
|
|
|
|
env.WebRootPath,
|
|
|
|
|
siteSettings.UserFiles.DirName);
|
|
|
|
|
|
|
|
|
|
var rootInfo = new DirectoryInfo(UserFilesDirName);
|
|
|
|
|
if (!rootInfo.Exists) rootInfo.Create();
|
|
|
|
|
|
|
|
|
|
UserFilesOptions = new FileServerOptions()
|
|
|
|
|
{
|
|
|
|
|
FileProvider = new PhysicalFileProvider(UserFilesDirName),
|
|
|
|
|
RequestPath = new PathString("/" + siteSettings.UserFiles.DirName),
|
|
|
|
|
EnableDirectoryBrowsing = env.IsDevelopment()
|
|
|
|
|
};
|
|
|
|
|
app.UseFileServer(UserFilesOptions);
|
|
|
|
|
app.UseStaticFiles();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|