如何编写文件上传函数的代码
关于我
我的博客 | 欢迎关注
前言
在进行Web前后端分析开始时,我们经常会碰到文件上传的需求。上传用户头像,上传认证材料、审核材料等,这些都可以归类为文件上传功能。
今天主要把自己在开发过程中的心得进行一个整理,供大家学习。
开启静态文件中间件
默认情况下,静态文件(如 HTML、CSS、图像和 JavaScript)是 ASP.NET Core 应用直接提供给客户端的资产。
开启静态文件访问,即可以通过浏览器地址输入http://127.0.0.1:8080/images/1.png访问图片或其他文件的方式。需要在中间件中进行配置。
StartUp.cs中Configure方法增加一行代码。即添加默认的静态文件中间件。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseStaticFiles();
}
详情参考官方文档:
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1
文件上传功能
前后台分离项目,所以创建WebApi项目。新建一个控制器,文件名FileController,开始进行一个简单的文件上传编码。
public class FileController : ControllerBase
{
private static IWebHostEnvironment _webHostingEnvironment;
public FileController(IWebHostEnvironment hostingEnvironment)
{
_webHostingEnvironment = hostingEnvironment;
}
public IActionResult UploadFile(IFormFile formFile)
{
//var formFile = Request.Form.Files[0];//获取请求发送过来的文件
var webRootPath = _webHostingEnvironment.WebRootPath;//应用程序根目录
string dirPath = webRootPath + "/UploadFile/" + DateTime.Now.ToString("yyyyMMdd");
//判断保存的文件夹是否存在,不存在创建
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}
if (formFile != null)
{
//保存的文件名称可能存在重复,所以需要在后台对文件进行重命名
string fileExtesion = Path.GetExtension(formFile.FileName);
string fileName = Path.GetFileName(formFile.FileName) + "_" + Guid.NewGuid().ToString() + "." + fileExtesion;
//保存文件
using (var fs = System.IO.File.Create(webRootPath + "/" + fileName))
{
formFile.CopyTo(fs);
}
return new JsonResult(new { success = true, errMsg = "文件上传成功" });
}
else
{
return new JsonResult(new { success = false, errMsg = "未检测到上传的文件" });
}
}
}
参考
ASP.NET Core单文件和多文件上传并保存到服务端
The END
本文到此结束,希望对你有帮助 ????
更多精彩 技术文章汇总在我的 公众号程序员工具集 ,持续更新,欢迎关注订阅收藏。
如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
福利姬
公众号后台回复:“关注礼包”,获取价值5K的视频学习资源
公众号后台回复:“技能图谱”,送你一份最全的开发者技能图谱
上一篇: LaTeX 基金会说明。开始
下一篇: CTFshow 愚人节趣味赛 WP 部分
推荐阅读
-
如何以高雅的方式将printf函数的输出保存至文件?
-
翁恺教授带你入门C语言编程,第五周作业——如何编写数素数的代码?
-
在C语言中,如何使用另一个文件中的函数?
-
uniapp实战:详解个人信息管理(包括选择图片、上传文件及获取/更新表单数据)的相关代码
-
Intellij IDEA 插件开发入门详解 - 如何添加 Application 和 Project Component,并创建 Action? 在本文中,我们将详细介绍如何在 IntelliJ IDEA 中添加 Application 和 Project Component,并且通过这些组件来创建一个简单的 Action。 首先,我们将在 src 目录上使用 Alt+Insert 快捷键打开 New 对话框,然后从中选择 Application Component 并输入名称如 MyComponent。接下来,我们在 MyComponent 类中添加一个 sayHello 方法并编写相关逻辑。 然后,我们需要为我们的插件添加一个 Action,使用户可以通过菜单或其它方式访问它。为此,我们将创建一个新的类 SayHelloAction 继承自 AnAction 类,并在 actionPerformed 方法中获取 Application 和 MyComponent 对象,最后调用 MyComponent 的 sayHello 方法。 最后,我们需要为我们的插件配置相关的文件以确保它可以正常运行。在本文中,我们将详细介绍如何进行这些配置。
-
让JavaScript帮你打造一个会旋转的钟面!学习如何编写旋转时钟的代码
-
如何打开CAD格式的源代码文件?
-
如何在Python中轻松创建、调用和理解def函数,以及参数传递的实际操作与示例代码
-
阿里Java编码规范指南安装与应用教程 - 二、如何仅对特定文件夹或单个文件进行检测?方法是在这些文件上右键点击,你会看到一个功能选项。通过这个功能,系统会找出该文件中存在的代码问题或不合规之处,无需扫描整个项目。
-
如何在 VS Code 中设置调试参数:理解 launch.json 配置详情、利用 task.json 替换变量、开启自动保存与代码格式化、处理空格与制表符、探索函数调用链、掌握文件查找与全站搜索技巧