Asp.net mvc上传多张图片后台存储

前台页面通过<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; }
 
 
 
 

html5异步单图片多图片上传两种实现方式 后台.net mvc接收的更多相关文章

  1. 微信sdk 图片上传 两种方法 上传一张显示一张 并附带微信图片放大功能和删除功能

    html <!--上传图片--> <div class="upload-mod"> <div class="up-box" id= ...

  2. c#中富文本编辑器Simditor带图片上传的全部过程(项目不是mvc架构)

    描述:最近c#项目中使用富文本编辑器Simditor,记录一下以便以后查看. 注:此项目不是MVC架构的. 1.引用文件 项目中引用相应的css和js文件,注意顺序不能打乱,否则富文本编辑器不会正常显 ...

  3. android带有文字的图片按钮的两种实现方式

    android带有文字的图片按钮的两种实现方式 1). TextView对Button用相对布局,这要要求按钮的背景图片要留下空白位置给文字.这种方式开发比较简单,适合做一些风格一致的Button. ...

  4. MVC图片上传、浏览、删除 ASP.NET MVC之文件上传【一】(八) ASP.NET MVC 图片上传到服务器

    MVC图片上传.浏览.删除   1.存储配置信息 在web.config中,添加配置信息节点 <appSettings> <add key="UploadPath" ...

  5. 图片上传(前端显示预览,后端php接收)

    html: <form action="{:Url('do_ls_law_upload')}" method="POST" accept-charset= ...

  6. java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤

    本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 <bean id="multipartResolver" c ...

  7. TinyMCE编辑器图片上传扩展(base64方式),asp.net mvc5

    编辑器上传图片一般都是先上传到服务器中,若是用户取消或忘记提交表单就产生一张废图在空间里面,时间一长就产生大量占用空间的无用图片,现在就试试提交前先用base64,提交后,在后台处理编辑器内容中的&l ...

  8. java web图片上传和文件上传

    图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定要写属性enctype=" ...

  9. bootstrap-fileinput多图片上传

    在页面写一个input框: <input id="subGraphAddress1" name="subGraphAddress" type=" ...

随机推荐

  1. linux异常 - 网卡故障

    问题描述: 弹出界面eth0: 错误:没有找到合适的设备:没有找到可用于链接System eth0 的设备 解决方案: 排错步骤如下: 1:查看系统是否识别相应网卡(发现没有eth0网卡存在): 根据 ...

  2. abb画学号

    MODULE Module2 VAR signaldi signaldi26; VAR signaldi signaldi37; VAR signaldi signaldi48; PROC main2 ...

  3. Python爬虫之post请求

    暑假放假在家没什么事情做,所以在学习了爬虫,在这个博客园里整理记录一些学习的笔记. 构建表单数据(以http://www.iqianyue.com/mypost 这个简单的网页为例) 查看源代码,发现 ...

  4. Centos7 安装 GitLab 代码管理服务器

    一.安装依赖 yum -y install policycoreutils openssh-server openssh-clients postfix 二.启动postfix,并设置开机自启动 sy ...

  5. MySql -- unique唯一约束

    3.UNIQUE 约束 约束唯一标识数据库表中的每条记录. 创建一张测试表 CREATE TABLE `test`.`info`( `id` ) UNSIGNED NOT NULL AUTO_INCR ...

  6. 使用LxRunOffline工具备份/还原Linux子系统(WSL)

    安装WSL 开启WSL组件 首先需要打开WSL组件,可以使用以下命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Win ...

  7. Sliding Window POJ - 2823 单调队列模板题

    Sliding Window POJ - 2823 单调队列模板题 题意 给出一个数列 并且给出一个数m 问每个连续的m中的最小\最大值是多少,并输出 思路 使用单调队列来写,拿最小值来举例 要求区间 ...

  8. awk从放弃到入门(3):awk变量

    一.变量概述 对于awk来说"变量"又分为"内置变量" 和 "自定义变量" , "输入分隔符FS"和"输出分隔 ...

  9. Git-配置SSH公钥

    前言:Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. 以下操作都在git-bash命令行中进行. 查看所有配置项: git config --l ...

  10. android .9背景图作为TextView背景时文字无法居中问题

    问题产生原因: .9图黑色边框绘制伸缩区域有问题,重叠的最大区域是TextView文字所能显示的区域 如下图所示,横向和纵向最大重叠部分就是文字可显示部分,这个图作为背景后文字整体偏下,无法上下居中对 ...