Я публикую в веб-приложении Microsoft Azure один ASPNETCORE WebAPI с Swagger, и он работает хорошо. Но мой API выполняет загрузку файла в одну папку. Когда я пытаюсь получить доступ к загруженным файлам через URL-адрес, приложение перенаправляет меня в дом Swagger. Поэтому я не могу получить доступ к загруженным файлам. Как я могу это исправить?
Например:
URL моего API:
http://api.guarda.digital/swagger/
загруженный файл находится на
http://api.guarda.digital/uploads/1535281344287289147145.jpg
Если вы получите доступ к URL-адресу файла, вы будете перенаправлены на дом чванства.
Вот моя Startup.cs
конфигурация:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "Guarda Digital API", Version = "v1" });
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseMvc();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Guarda Digital API V1");
});
app.Run(async (context) => await Task.Run(() => context.Response.Redirect("/swagger")));
}
И файл web.config
, расположенный внутри /site/wwwroot
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\GD.WebAPI.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>