MVC进行多文件上传

  用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是对文件是否存在进行判断,如果存在则不去保存了

    这就完成了对多文件上传的功能。需要的小伙伴可以看看,有问题可以在评论留言

原文地址:https://www.cnblogs.com/renyuanhao/p/9151987.html

时间: 2024-10-11 02:19:24

MVC进行多文件上传的相关文章

Spring MVC环境中文件上传大小和文件类型限制以及超大文件上传bug问题

    在上一篇文章中,主要介绍了Spirng MVC环境下的正常情况下文件上传功能实现.在实际开发的时候,还会涉及到上传文件大小和类型的限制,接下来就会对Spirng MVC环境下文件上传大小和类型的限制进行介绍,还会讲解到文件上传大小tomcat服务器bug问题及解决方案. 一.文件上传大小限制 这里还是接着上篇文章先介绍Spring MVC下的文件上传大小限制,文件上传大小的限制在springmvc-config.xml中配置文件解析器CommonsMultipartResolver时即可

用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件. This project attempts to achieve a user-friendly file-uploading experience over the web. It's built as a Javascript plugin for developers looking to incorporate file-uploading int

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin

ASP.NET MVC下使用文件上传

这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3.  根目录下添加新文件夹Uploads,然后新建控制器UploadifyController.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using S

spring mvc中的文件上传

使用commons-fileupload上传文件所需要的架包有:commons-fileupload 和common-io两个架包支持,可以到Apache官网下砸. 在配置文件spring-mvc.xml中配置上传: <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> //文件上传最大是多少 <

asp.net.mvc 的单文件上传和多文件上传的简单例子

首先打开vs2012,创建空的mvc4项目,名称为MVCStudy,选择基本模板 1)创建项目后,基本结构是这样的 2)建立对应的HomeController,视图index.fileupload.success.error页面 3)控制器源码 using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.Mvc;using Sys

项目总结——MVC+MongoDB实现文件上传

在做项目的时候我们遇到了视频上传的问题.正式开始项目之前做了一个简单的Demo实现在MVC中视频文件的上 传,考虑到将视频放到MongoDB中上传和读取速度慢的问题,这次我们实现的文件上传是存储的路径,读取的额时候 直接通过路径读取就OK了. MVC,M指Model,我目前把它理解成三层中的Entity层,进行数据的传递,当然里边也可以放一些业务逻辑的代 码.V,指View层,视图,用于显示界面,C指Controller,用于控制界面的显示.MongoDB是现在非常流行的NoSQL数 据库,具体

【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.com/ssslinppp/p/4607043.html (请参考).本文主要讲多文件上传的过程. 主要区别在于控制层代码不同,同时,jsp代码也有相应修改. 2. 添加jar包 commons-fileupload-1.2.2.jar: commons-io-2.0.1.jar: 3. 配置CommonsMul

转:MVC中的文件上传

上传文件与与上传数据区别 上传数据主要指json等简单字符串,上传文件指的是上传word.excel图片等.在上传数据的时候enctype默认为第一个application/x-www-form-urlencoded,而上传数据包含文件的时候要用第二种multipart/form-data 值 描述 application/x-www-form-urlencoded 在发送前编码所有字符(默认)url编码 multipart/form-data 不对字符编码. 在使用包含文件上传控件的表单时,必