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; }
Asp.net mvc上传多张图片后台存储的更多相关文章
- asp.net mvc上传头像加剪裁功能
原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...
- iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样
// 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...
- asp.net MVC 上传文件 System.Web.HttpException: 超过了最大请求长度
APS.NET MVC 上传文件出现 System.Web.HttpException: 超过了最大请求长度 这个问题 原因是 默认最大上传文件大小为4096,而我提交的文件太大了. 解决方案:修改 ...
- asp.net mvc上传头像加剪裁功能介绍
正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery.Jcrop 后台是asp.net mvc ...
- ASP.NET MVC上传文件----uploadify的使用
课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...
- ASP.NET MVC上传文件
最近参考网络资料,学习了ASP.NET MVC如何上传文件.最基本的,没有用jQuery等技术. 1.定义Model public class TestModel { [Displ ...
- MVC上传多张图片
改变上传文件的按钮样式: <div id="post-upload-image"> <div id="divfile_-1"> < ...
- asp.net mvc 上传文件
转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...
- asp.net mvc 上传下载文件的几种方式
view: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...
随机推荐
- Python正则表达式指南
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- JVM参数(三)打印所有XX参数及值
本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值. -XX:+PrintFlag ...
- phonegap(cordova)环境配置
首先要配置好 java jdk 和 java jre 环境 配置之后 控制台 javac -version 查看是否配置成功 然后配置 Android sdk 配置之后 控制台 输入 adb 查看 ...
- Linux下如何修改ip地址
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig eth0 192. ...
- AngularJs 简单实现全选,多选操作
很多时候我们在处理CURD(增删改查)的时候需要实现批量操作数据,这时候就必须使用多选操作. Angular 中实现如下(当然还有很多种比笔者写的更好的方法,这里只是简单的实现.) demo 演示地址 ...
- dedecms代码研究六
今天讲的是dedecms最关键的东西,模板分析啦.也就是dedetag.class.php 里面的ParseTemplet方法 模板解析方法 先看看一个dedecms标签,大家心里有个数: {dede ...
- UBUNTU 13.04 install Grive
sudo apt-get install software-properties-common sudo apt-get install python-software-properties sudo ...
- go特性学习
而后我写了一些测试代码: dept1 := Dept{ name: "MySohu", building: "Intern ...
- Python函数中的参数(二)
当使用混合特定的参数匹配模型时,Python将会遵循以下有关顺序的法则: 1.在函数调用中,参数必须以这样的顺序出现:任何位置参数(Value).任何关键字参数(name = Value)和*sequ ...
- WEB服务器、应用程序服务器、HTTP服务器区别
很清晰的解释了WEB服务器.应用程序服务器.HTTP服务器区别 转载自 http://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html WE ...