ASP.NET Core中的文件怎么上传与下载

   2024-10-19 5930
核心提示:在ASP.NET Core中,文件上传和下载可以通过以下方式实现:文件上传:在HTML表单中添加一个input type=file元素用于用户选择要上

在ASP.NET Core中,文件上传和下载可以通过以下方式实现:

文件上传:

在HTML表单中添加一个<input type="file">元素用于用户选择要上传的文件。在后端处理上传文件的方法中,可以使用IFormFile类型的参数来接收上传的文件数据。使用FileStreamMemoryStream等类来将上传的文件保存到服务器的指定位置。

示例代码:

[HttpPost]public async Task<IActionResult> UploadFile(IFormFile file){    if (file == null || file.Length == 0)    {        return BadRequest("Invalid file");    }    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "uploads", file.FileName);    using (var stream = new FileStream(filePath, FileMode.Create))    {        await file.CopyToAsync(stream);    }    return Ok();}

文件下载:

在后端处理文件下载的方法中,使用PhysicalFileProviderFileContentResult类来提供要下载的文件数据。返回一个File类型的ActionResult对象,该对象包含要下载的文件路径和MIME类型。

示例代码:

public IActionResult DownloadFile(string fileName){    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "uploads", fileName);    if (!System.IO.File.Exists(filePath))    {        return NotFound();    }    var provider = new PhysicalFileProvider(Directory.GetCurrentDirectory());    var fileInfo = provider.GetFileInfo(fileName);    var fileStream = System.IO.File.OpenRead(filePath);    return File(fileStream, "application/octet-stream", fileName);}

以上是ASP.NET Core中文件上传与下载的简单示例,实际应用中可能还需要考虑文件大小限制、文件类型限制、文件存储路径等问题。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号