我正在尝试在ASP.NET Boilerplate项目中实现文件上传。 这是我的代码:
Index.cshtml :
<form asp-controller="Backlog" asp-action="Upload_Image" method="post"
enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">Upload Image</button>
</form>
BacklogController.cs :
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Abp.Application.Services.Dto;
using Abp.AspNetCore.Mvc.Authorization;
using MyProject.Authorization;
using MyProject.Controllers;
using MyProject.Users;
using MyProject.Web.Models.Backlog;
using MyProject.Users.Dto;
using System.Collections.Generic;
using MyProject.Backlog;
namespace MyProject.Controllers
{
[AbpMvcAuthorize(PermissionNames.Pages_Backlog)]
public class BacklogController : MyProjectControllerBase
{
private readonly IUserAppService _userAppService;
private readonly BacklogAppService _backlogAppService;
public BacklogController(IUserAppService userAppService, BacklogAppService backlogAppService)
{
_userAppService = userAppService;
_backlogAppService = backlogAppService;
}
public async Task<ActionResult> Index()
{
var backlogItems = (await _backlogAppService.GetBackLogItems()).Items;
var model = new BacklogListViewModel
{
BacklogItems = backlogItems
};
return View(model);
}
[HttpPost] // Postback
public async Task<IActionResult> Upload_Image(IFormFile file)
{
if (file == null || file.Length == 0) return Content("file not selected");
return View();
}
}
}
该网络应用程序正在运行,但是当我单击上载按钮时,它表示:
未授予必要的授权。必须至少授予以下权限之一:用户
我在哪里做错了?否则,有没有更简单的方法可以在ASP.NET Boilerplate上实现文件上传?