前台页面通过<file name="img">标签数组上传图片,后台根据Request.Files["img"]来接收前台上传的图片。
1 System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
if (files.Count == )
return false;
for (int i = ; i < files.AllKeys.Count(); i++)
{
if (files.AllKeys[i] != "img")
{
if (files[i].FileName.Length > )
{
System.Web.HttpPostedFile postedfile = files[i];
string filePath = "";
var ext = Path.GetExtension(postedfile.FileName);
var fileName = DateTime.Now.Ticks.ToString() + ext;
// 组合文件存储的相对路径
filePath = "/Upload/images/" + fileName;
// 将相对路径转换成物理路径
var path = Server.MapPath(filePath);
postedfile.SaveAs(path);
string fex = Path.GetExtension(postedfile.FileName);
//存储产品轮播图信息
ProductCarousel model = new ProductCarousel();
model.ProductID = productID;
model.PicSlider = filePath;
db.ProductCarousels.Add(model);
db.SaveChanges();
}
} }

HBuilder的Uploader插件上传图片到服务器

 public JsonResult ApplayCertification()
{
try
{
var para = Request.Files.Keys;
foreach (var item in para)
{
Log.Debug("所有参数:" + item.ToString());
}
//接收客户端上传的文件
var FileCollect = HttpContext.Request.Files; var user = authMag.GetUser(Token);
var certification = db.UserCertifications.SingleOrDefault(p => p.UserID == user.ID); //遍历文件集合
if (FileCollect.Count > )
{
foreach (string key in FileCollect)
{
HttpPostedFileBase FileSave = FileCollect[key];//用key获取单个文件对象HttpPostedFile
//保存上传的图片
string fileName = SaveImg(FileSave, FileCollect.Get(key).FileName, user.ID);
if (key == "OwerImg")
{
certification.OwerImg = fileName;
}
if (key == "OwerCardImg")
{
certification.OwerCardImg = fileName;
}
if (key == "OwerLicenceImg")
{
certification.OwerLicenceImg = fileName;
}
if (key == "OwerDrivingLicenceImg")
{
certification.OwerDrivingLicenceImg = fileName;
}
if (key == "CarImg")
{
certification.CarImg = fileName;
}
if (key == "AssuranceImg")
{
certification.AssuranceImg = fileName;
}
}
}
certification.AuditingStatus = (byte)AuditingStatus.AuditPass;
db.SaveChanges();
return Json(new
{
state = true,
msg = "申请成功",
},
JsonRequestBehavior.AllowGet
);
}
catch (Exception ex)
{
Log.Error("ApplayCertification Error", ex);
return Json(new
{
state = false,
},
JsonRequestBehavior.AllowGet
);
}
}

存储上传图片方法

  private string SaveImg(HttpPostedFileBase file, string fileName, int userID)
{
//图片路径:Upload+当前日期+当前userID
string filePath = "/Upload/"+DateTime.Now.ToString("yyyy-MM-dd")+"/"+userID.ToString()+"/";
if (!Directory.Exists(Server.MapPath(filePath)))
{
Directory.CreateDirectory(Server.MapPath(filePath));
}
string returnPath = filePath + DateTime.Now.ToString("yyyyMMddhhmmssffff") + fileName;
string absoluteFilePath = Server.MapPath(filePath) + DateTime.Now.ToString("yyyyMMddhhmmssffff") + fileName;
file.SaveAs(absoluteFilePath);
return returnPath; }

Asp.net mvc上传多张图片后台存储的更多相关文章

  1. asp.net mvc上传头像加剪裁功能

    原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...

  2. iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样

    // 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...

  3. asp.net MVC 上传文件 System.Web.HttpException: 超过了最大请求长度

    APS.NET MVC 上传文件出现  System.Web.HttpException: 超过了最大请求长度 这个问题 原因是 默认最大上传文件大小为4096,而我提交的文件太大了. 解决方案:修改 ...

  4. asp.net mvc上传头像加剪裁功能介绍

    正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery.Jcrop 后台是asp.net mvc ...

  5. ASP.NET MVC上传文件----uploadify的使用

    课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...

  6. ASP.NET MVC上传文件

    最近参考网络资料,学习了ASP.NET MVC如何上传文件.最基本的,没有用jQuery等技术. 1.定义Model public class TestModel    {        [Displ ...

  7. MVC上传多张图片

    改变上传文件的按钮样式: <div id="post-upload-image"> <div id="divfile_-1"> < ...

  8. asp.net mvc 上传文件

    转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...

  9. asp.net mvc 上传下载文件的几种方式

    view: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...

随机推荐

  1. JavaScript中 Promise的学习以及使用

    今天一个哥们发过来一段js代码,没看懂,就顺便学习了一下,代码如下  Promise.resolve('zhangkai').then(value => {console.log(value)} ...

  2. UVA 11082 矩阵解压(网络流建模)

    矩阵解压 紫书P374 建模真的是挺难的,如果直接给我这题,我是想不到用网络流的,所以还应多做网路流建模,学会如何转化成网络流 还有,现在用的EK算法是比较慢的,还应去看看Dnic和ISAP,并且理解 ...

  3. linux下开启mysql慢查询,分析查询语句

    一,为什么要开启这个查询呢? 数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了.mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者 ...

  4. 每天一个 Linux 命令(6):rmdir 命令

    今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm – r dir命令可代替rmdir,但是有很大危险性.)删 ...

  5. js 正则

    /判断输入内容是否为空    function IsNull(){        var str = document.getElementById('str').value.trim();      ...

  6. C Primer Plus(第五版)12

    第 12 章 存储类, 链接和内存管理 在本章中你将学习下列内容 . 关键字: auto, extern, static, register, const, volatile, restricted. ...

  7. C#EXCEL 操作类--C#ExcelHelper操作类

    主要功能如下1.导出Excel文件,自动返回可下载的文件流 2.导出Excel文件,转换为可读模式3.导出Excel文件,并自定义文件名4.将数据导出至Excel文件5.将指定的集合数据导出至Exce ...

  8. 有效Email

    !/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($.trim($('#account').val()))

  9. js分辨浏览器类别和版本

    function BrowserInfo() { var ua = navigator.userAgent.toLowerCase(); var Sys = {}; var s; (s = ua.ma ...

  10. 34、Shiro框架入门三,角色管理

    //首先这里是java代码,就是根据shiro-role.ini配置文件中的信息来得到role与用户信息的对应关系//从而来管理rolepublic class TestShiroRoleTest e ...