core webapi缩略图_.Net Core WebApi上传图片的方式(两种)

.Net Core WebApi提供了通过Form表单上传图片的功能。本文详细介绍了两种上传方式,着重展示了后端如何处理图片文件,包括文件类型检查、大小限制及存储路径设置。前端部分则提及使用form表单提交图片数据。
摘要由CSDN通过智能技术生成

.Net Core WebApi上传图片的两种方式

我这边主要是为了上传图片,话不多说,上代码。

方式一:通过Form表单上传

后端:

///

///上传图片,通过Form表单提交///

///

[Route("Upload/FormImg")]

[HttpPost]public ActionResult UploadImg(Listfiles)

{if (files.Count<1)

{return Error("文件为空");

}//返回的文件地址

List filenames = new List();var now =DateTime.Now;//文件存储路径

var filePath = string.Format("/Uploads/{0}/{1}/{2}/", now.ToString("yyyy"), now.ToString("yyyyMM"), now.ToString("yyyyMMdd"));//获取当前web目录

var webRootPath =_hostingEnvironment.WebRootPath;if (!Directory.Exists(webRootPath +filePath))

{

Directory.CreateDirectory(webRootPath+filePath);

}try{foreach (var item infiles)

{if (item != null)

{#region 图片文件的条件判断

//文件后缀

var fileExtension =Path.GetExtension(item.FileName);//判断后缀是否是图片

const string fileFilt = ".gif|.jpg|.jpeg|.png";if (fileExtension == null)

{break;//return Error("上传的文件没有后缀");

}if (fileFilt.IndexOf(fileExtension.ToLower(), StringComparison.Ordinal) <= -1)

{break;//return Error("请上传jpg、png、gif格式的图片");

}//判断文件大小

long length =item.Length;if (length > 1024 * 1024 * 2) //2M

{break;//return Error("上传的文件不能大于2M");

}#endregion

var strDateTime = DateTime.Now.ToString("yyMMddhhmmssfff"); //取得时间字符串

var strRan = Convert.ToString(new Random().Next(100, 999)); //生成三位随机数

var saveName = strDateTime + strRan +fileExtension;//插入图片数据

using (FileStream fs = System.IO.File.Create(webRootPath + filePath +saveName))

{

item.CopyTo(fs);

fs.Flush();

}

filenames.Add(filePath+saveName);

}

}returnSuccess(filenames);

}catch(Exception ex)

{//这边增加日志,记录错误的原因//ex.ToString();

return Error("上传失败");

}

}

我这里主要是为了提交图片数据,所以有比较多的对图片文件的条件判断,这里可以根据需求,自行调整。包括文件的存储方式。

前端:

.Net Core WebApi图片上传

通过form表单提交

上传的图片,返回的地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值