MVC进行多文件上传
2018-06-24 02:14:41来源:未知 阅读 ()
用mvc做多文件的上传和保存到本地,大致流程就是,前台通过form表单提交多文件,Controller接受到文件流,将文件流保存到本地 然后将保存地址 存到数据库中。
将文件通过from提交
<form name="form1" method="post" action="地址" id="form1" multiple="multiple" enctype="multipart/form-data">
<input type="file" name="upload_fujian" class="upload_fujian" multiple="multiple" />
</form>
html代码
$('.upload_fujian').change(
function () {
var files = $(this)[0].files;
for (var i = 0, f; f = files[i]; i++) {
if (f.size < 2 * 1024 * 1024) {
//如果需要自动提交表单,可以使用下面的这行代码,否者就等到用户点击按钮再上传文件
//$('.upload_media').parent().submit();
} else {
alert(f.name + '文件超出上传大小限制!');
}
}
}
)
js代码,主要是控制文件上传的大小,也可以进行自己处理文件的属性
public ActionResult Noticeadd(FormCollection form1) {
HttpFileCollectionBase file_ = Request.Files;
for (int i = 0; i < file_.Count; i++)
{
//文件大小
long size = file_[i].ContentLength;
//文件类型
string type = file_[i].ContentType;
//文件名
string name = file_[i].FileName;
string _tp = System.IO.Path.GetExtension(name);
if (_tp.ToLower() == ".xls" || _tp.ToLower() == ".doc" || _tp.ToLower() == ".docx" || _tp.ToLower() == ".pdf" || _tp.ToLower() == ".png" || _tp.ToLower() == ".jpg")
{
string saveName = DateTime.Now.ToString("yyyyMMdd");
string file = "\\Areas\\gonggao\\fujian\\" + saveName + "\\";
string path = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + file;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
DirectoryInfo dirInfo = new DirectoryInfo(path);
dirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
}
file_[i].SaveAs(path + name);
//file + name 为文件名可以保存至数据库,我这里是测试,直接返回到前台了
} }
return view();
}
控制器中传来的值 form1 为表单提交来的数据,file_为文件流,下面用for循环将多个文件存到本地,可以去控制文件后缀名来控制文件上传的格式,然后创建文件夹去保存文件,下来对值进行介绍
_tp 为文件后缀名
savename 获取时间创建文件夹名称
file 为文件夹路径(相对路径)
path 为程序文件地址夹+文件夹路径(绝对路径)
上面代码中第一个if是对文件后缀进行筛选,第二个if是对文件是否存在进行判断,如果存在则不去保存了
这就完成了对多文件上传的功能。需要的小伙伴可以看看,有问题可以在评论留言
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:记一次Node项目的优化
下一篇:课时27.base(掌握)
- 根据分辨率调用css文件的方法 2020-03-19
- ?javascript如何控制上传文件的大小 2020-03-19
- 详解Webstorm 新建.vue文件支持高亮vue语法和es6语法 2020-02-07
- 网站接入QQ登录的两种方法 2020-01-07
- 详解node.js进行web开发的操作方法 2019-12-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
