实现关键点:
1.输入DTO 加入IFormFile属性
2.应用层的输入DTO使用[FromForm]进行模型绑定
//上传文件接口
public interface IFileAppService:IApplicationService
{
Task UploadAsync(FileUploadInput input);
}
//接口实现
public class FileAppService: IFileAppService
{
public FileAppService()
{
}
//FileUploadInput DTO一定要使用[FromForm]进行模型绑定
[Consumes("multipart/form-data")]
[HttpPost]
public async Task UploadAsync([FromForm] FileUploadInput input)
{
string filePath = "";
FileStream fileStream = new FileStream(filePath, FileMode.Create);
input.file.CopyTo(fileStream);
fileStream.Close();
fileStream.Dispose();
}
}
//FileUploadInput DTO
public class FileUploadInput
{
public string name { get; set; }
public long size { get; set; }
//上传文件属性,必须加入该属性
public IFormFile file { get; set; }
}