今天用From表单上传图片 首先我们要了解到什么是From 表单
From 表单简单的说就是将表单中的数据发送到服务器
详细的说,就是将form标签之间,用户填写的数据封装到消息体或url地址后,然后请求服务器。 而提交时机,就是指form表单什么时候提交。 当用户点击提交按钮的时候,会导致表单被提交
好,现在我们直接上代码
/// 上传图片
[Route("Upload/picture")]
[HttpPost]
public UserDate UploadImg(List<File> list)
{
List<string> filenames = new List<string>();
var now = DateTime.Now;
//文件存储路径
var filePath = string.Format("/Uploads/{0}/{1}/{2}/", now.ToString("yyyy"),
now.ToString("yyyyMM"), now.ToString("yyyyMMdd"));
//获取当前web目录
var RootPath = _hostingEnvironment.WebRootPath;
if (!Directory.Exists(webRootPath + filePath))
{
Directory.CreateDirectory(webRootPath + list);
}
try
{
foreach (var item in list)
{
if (item != null)
{
#region 图片文件的条件判断
//文件后缀
var fileExtension = Path.GetExtension(item.list);
//判断后缀是否是图片
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格式的图片");
}
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);
}
}
return Success(filenames);
}
return Error("上传失败");
}
感谢指导 积极听教