技术文摘
.net core webapi 实现大文件上传至 wwwroot 文件夹的代码
2024-12-28 19:18:32 小编
.net core webapi 实现大文件上传至 wwwroot 文件夹的代码
在开发 Web 应用程序时,经常会遇到需要上传大文件的需求。在.net core webapi 中,我们可以通过一系列的代码实现将大文件上传至 wwwroot 文件夹。
我们需要在 Startup.cs 文件中配置服务和中间件,以支持文件上传。
services.Configure<FormOptions>(options =>
{
options.MultipartBodyLengthLimit = long.MaxValue;
});
接下来,创建一个控制器来处理文件上传的请求。
[HttpPost("UploadLargeFile")]
public async Task<IActionResult> UploadLargeFile()
{
var formCollection = await Request.ReadFormAsync();
var file = formCollection.Files.FirstOrDefault();
if (file == null || file.Length == 0)
{
return BadRequest("未选择文件或文件为空");
}
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", file.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return Ok("文件上传成功");
}
在上述代码中,我们首先通过 Request.ReadFormAsync 方法获取上传的表单数据。然后,检查是否有文件以及文件是否为空。接着,确定文件要保存的路径,并使用 FileStream 创建文件流来将上传的文件内容写入指定的路径。
为了确保文件上传的安全性和有效性,还可以添加一些额外的逻辑,如文件类型检查、文件大小限制、文件名的合法性验证等。
通过以上的代码实现,我们能够在.net core webapi 中成功地将大文件上传至 wwwroot 文件夹,为 Web 应用提供了强大的文件上传功能,满足了实际业务中的需求。在实际应用中,还需要根据具体的场景和需求,对代码进行进一步的优化和扩展。
- webpack5缓存对自定义loader有何影响
- 避免点击textarea后改变其样式的方法
- 原生JS开发中优秀树形插件的最佳选择
- 真机调试时怎样获取设备信息
- CSS排除指定元素选择时遇到的难题有哪些
- CSS :hover 高亮错误致单元格高亮问题如何修复
- Chrome 中怎样实现跨区域捕捉鼠标事件
- JavaScript 如何拷贝动态生成的 HTML 内容
- CSS实现字体镂空描边的方法
- 使用固定定位时怎样实现底部固定且左右留白
- CSS 中如何利用 overflow: hidden 动态隐藏侧边栏且不影响内容布局
- CSS 中如何精确计算文本宽度并兼顾大小写字母差异
- CSS Grid 中避免子元素撑大父容器的方法
- document的content Download时间过长原因探究
- 瑞克和莫蒂与 Clossures 的共同点