asp.net core mvc 文件上传,下载,预览
作者:小教学发布时间:2023-10-02分类:程序开发学习浏览:281
导读://文件上传用到了IformFile接口1.1文件上传视图<formaction="/stu/upload"method="post"enctype="multi...
//文件上传用到了IformFile接口
1.1文件上传视图
<form action="/stu/upload" method="post" enctype="multipart/form-data">
<input type="file" name="img" />
<input type="submit" value="上传" />
</form>
1.2文件上传后端代码
private readonly IWebHostEnvironment _webHostEnvironment;
public StuController(IWebHostEnvironment webHostEnvironment)
{
//使用内置的服务读取项目路径
_webHostEnvironment = webHostEnvironment;
}
public IActionResult upload()
{
return View();
}
[HttpPost]
public IActionResult upload(IFormFile img)
{
//返回根目录
var contentpath = _webHostEnvironment.ContentRootPath;
//项目跟目录下创建一个upload文件夹,存放上传的图片
var filepath = Path.Combine(contentpath, "upload", img.FileName);
//创建一个文件流
using (FileStream fs = new FileStream(filepath, FileMode.Create, FileAccess.Write))
//把上传的文件写入文件中
img.CopyTo(fs);
return Content("上传成功");
}
1.3 运行效果
2.1下载文件视图
@Html.ActionLink("下载","downloadImg")
2.2后端代码(我这写死了,实际项目是前端传参下载图片的参数到后端)
public byte[] GetImageBytes()
{
var rootpath = _webHostEnvironment.ContentRootPath;
var filepath = Path.Combine(rootpath, "upload", "冒泡排序.png");
string imagePath = filepath;
byte[] imageBytes;
try
{
using (FileStream fs = new FileStream(imagePath, FileMode.Open, FileAccess.Read))
{
using (BinaryReader br = new BinaryReader(fs))
{
imageBytes = br.ReadBytes((int)fs.Length);
}
}
}
catch (Exception ex)
{
// 处理异常
Console.WriteLine("读取图片文件时出错:" + ex.Message);
imageBytes = null;
}
return imageBytes;
}
public IActionResult downloadImg()
{
byte[] imageBytes = GetImageBytes(); // 从某处获取图片的字节数组
string fileName = "image.jpg";
return File(imageBytes, "image/png", fileName);
}
3.1预览图片视图
<img src="@Url.Action("GetImage", "stu", new { imageName = "4.jpg" })" alt="Image Preview">
<style>
img{
width:300px;
height:400px;
}
</style>
3.2后端代码
public IActionResult GetImage(string imageName)
{
var rootpath = _webHostEnvironment.ContentRootPath;
var imagePath = Path.Combine(rootpath, "upload", imageName);
var imageBytes = System.IO.File.ReadAllBytes(imagePath);
return File(imageBytes, "image/jpeg");
}
运行效果
标签:下载
- 上一篇:【Linux】信号的保存
- 下一篇:第1篇 目标检测概述 —(4)目标检测评价指标
相关推荐
- Controller Fields for Contact Form 7 最好的WordPress常用插件下载 博客插件模块
- Ivorypay Payment Gateway for WooCommerce 最好的WordPress常用插件下载 博客插件模块
- Raptive Affiliate 最好的WordPress常用插件下载 博客插件模块
- Ultimate Table of Contents 最好的WordPress常用插件下载 博客插件模块
- XLSXviewer 最好的WordPress常用插件下载 博客插件模块
- AI Search Bar 最好的WordPress常用插件下载 博客插件模块
- FlyWP Helper 最好的WordPress常用插件下载 博客插件模块
- Service Booking Manager 最好的WordPress常用插件下载 博客插件模块
- WMS with Pulpo WMS 最好的WordPress常用插件下载 博客插件模块
- Virtue Charity Donations UK 最好的WordPress常用插件下载 博客插件模块
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 8鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 9Android广播如何解决Sending non-protected broadcast问题
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版