本教程包括ASP.NET中的ASP核心应用程序如何上传图片到云服务器。假设您已有阿里云账户并创建了一个存储桶。若还没有,请先创建账号和存储桶。
步骤如下:
- 创建ASP.NET Core MVC应用程序:打开Visual Studio,选择“新建项目”。选择“ASP.NET Core Web应用程序”,设置好项目名称和位置,然后点击“创建”。在下一个窗口中,选择“.NET Core”和“ASP.NET Core 2.2”(或更高版本),然后选择“Web应用程序(Model-View-Controller)”,点击“创建”。
- 添加ASP.NET Core MVC控制器:在解决方案资源管理器中,右键点击Controllers文件夹,然后选择“添加” -> “控制器”。“添加新的SCAFFOLD对话框”出现后,选择“MVC Controller – Empty”,点击“Add”键。接着在“添加MVC Controller”对话框中,将控制器命名为“UploadController”,点击“Add”键。
- 添加视图:在UploadController类上面,修改“Index”方法以便返回视图(
return View();
),然后在方法上面添加[HttpGet]注解。
在UploadController类的Index方法上点击右键选择”Go to View”新建Index视图。 -
上传图片的HTML: 编辑Index.chtml文件,添加一个表单用来上传图片。
<form method="post" enctype="multipart/form-data" asp-controller="Upload" asp-action="Index"> <div> <p>上传图片:</p> <input type="file" name="file" /><br/><br/> <input type="submit" value="上传" /> </div> <div asp-validation-summary="All" class="text-danger"></div> </form>
-
处理上传图片请求的ASP.NET MVC Core控制器:在UploadController类中添加处理HttpPost请求的Index方法。
[HttpPost] public async Task<IActionResult> Index(IFormFile file) { if (file != null && file.Length > 0) { using (var client = new OssClient("阿里云OSS的结束点", "你的AccessKeyId", "你的AccessKeySecret")) { using (var stream = file.OpenReadStream()) { var result = await Task.Factory.FromAsync(client.BeginPutObject("你的存储桶的名字", file.FileName, stream),client.EndPutObject); if(result.HttpStatusCode== HttpStatusCode.OK) ViewBag.Message = "上传成功"; else ViewBag.ErrorMessage = "上传失败"; } } } return View(); }
注意: “阿里云OSS的结束点”, “你的AccessKeyId”, “你的AccessKeySecret”和”你的存储桶的名字”需要替换成你自己的值。
- 添加必要的包:需要在该项目中安装Aliyun.OSS.SDK这个包。
请确保正确的设置了并使用了AccessKeyId、AccessKeySecret和端点以及存储桶名称。联网情况下,一切就绪后可以运行你的MVC应用并测试图片上传功能。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/172394.html