Ошибка загрузки файла MVC Backload
У меня есть веб-приложение.NET 4.5 MVC 5, которое использует Backload 2.0, чтобы помочь с загрузкой файла Excel. Метод контроллера прекрасно работает в моей среде разработки. Однако, когда я перешел на свой производственный сервер, тот же метод теперь не работает.
Это терпит неудачу, потому что handler.Services.POST
нулевой. Все остальные свойства отключены handler.Services
также равны нулю, например GET
, так далее.
Что может стать причиной этого? Это настройка IIS? Web.config? Что еще я могу проверить??
Большая часть этого кода была скопирована с примера, который поставляется с Backload.
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post | HttpVerbs.Put | HttpVerbs.Delete | HttpVerbs.Options)]
public async Task<ActionResult> FileHandler()
{
try
{
// Create and initialize the handler
var handler = Backload.FileHandler.Create();
handler.Init(HttpContext.Request);
// Call the appropriate request handlers
if (handler.Context.HttpMethod == "POST")
{
// Get the posted file with meta data from the request
handler.FileStatus = await handler.Services.POST.GetPostedFiles();
if (handler.FileStatus != null)
{
var file = handler.FileStatus.Files[0];
DateTime spreadsheetDate;
using (var memoryStream = new MemoryStream((int)file.FileSize))
{
await file.FileStream.CopyToAsync(memoryStream);
//TODO: do some stuff...
}
}
// Create client plugin specific result and return an ActionResult
IBackloadResult result = handler.Services.Core.CreatePluginResult();
return ResultCreator.Create((IFileStatusResult)result);
}
// other http methods may also be handled
return new EmptyResult();
}
catch (Exception ex)
{
return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
}
}
1 ответ
Прямые вызовы API (пространство имен служб) - это функция Pro, которая работает только с Pro Edition.
В вашем случае я думаю, что вы можете переключиться на события с тем же результатом. Например, вы можете использовать StoreFileRequestStarted
событие. Не забудьте включить события в Web.Backload.config, как описано здесь: https://github.com/blackcity/backload/wiki/Example-12
Демо-пакет также включает пример событий: https://github.com/blackcity/Backload/releases/download/v2.1.0.0/Backload.Standard.2.1.Full.zip