首页 新闻 会员 周边 捐助

asp.net mvc 多个File实现多张图片上传

0
悬赏园豆:10 [已解决问题] 解决于 2017-04-18 14:15

现在有这样一个需求,需要上传多张图片,但是又不是一次性选择多张图片,而是有多个File,如下:

<p>会计证</p>

<input type="file" id="UserImage1" name="UserImage1"  onchange="previewImage(this)"style="display: none;" class="previewImg">

 <p>身份证</p>

<input type="file" id="UserImage2" name="UserImage2" onchange="previewImage(this)" style="display: none;" class="previewImg">

<input type="file" id="UserImage3" name="UserImage3" onchange="previewImage(this)" style="display: none;" class="previewImg">

<button type="button">上传图片</button>

单点击按钮的时候把选择的几张图片同时上传到服务器,该如何实现呢?如果是只上传一张好办,关键现在是多个File,多张图片,不知道大家有啥好的办法没?

MVC
gyangjing的主页 gyangjing | 初学一级 | 园豆:4
提问于:2017-04-03 20:09
< >
分享
最佳答案
0

这个问题我上次遇见过,   我上传的 是多个文件不是图片  ,  页面提交后  在后台可以获取到  页面上载的 所有文件  

IEnumerable<HttpPostedFileBase>

............................................................................................

 public string SavaFileBC(IEnumerable<HttpPostedFileBase> Files)
        {
            try
            {
                string FID = "";
                string FName = "";
                HttpFileCollectionBase files = Request.Files;
                for (int i = 0; i < files.Count; i++)
                {
                    HttpPostedFileBase File = files[i];
                    if (File != null && File.ContentLength > 0)
                    {
                        string FileName = File.FileName; //上传的原文件名
                        //得到文件的后缀名
                        string FileType = FileName.Substring(FileName.LastIndexOf(".") + 1).ToLower();

                        //得到提交的文件
                        Stream fileDataStream = File.InputStream;

                        //得到文件大小
                        int fileLength = File.ContentLength;

                        //创建数组
                        byte[] fileData = new byte[fileLength];

                        //把文件流填充到数组
                        fileDataStream.Read(fileData, 0, fileLength);

                        //得到文件名字
                        string fileTitle = File.FileName;

                        //得到文件类型
                        string fileType = FileType;

                        WenJian w = new WenJian();
                        w.WenJianI = fileData;
                        //文件标题
                        w.WenJianNane = fileTitle;
                        //添加时间
                        w.WenjianTime = System.DateTime.Now;
                        //文件类型
                        w.WenJianType = fileType;
                        w.ID = WJ.AddWenJian(w);
                        if (string.IsNullOrWhiteSpace(FID))
                        {
                            FID = w.ID.ToString();
                        }
                        else
                        {

                            FID = FID + "," + w.ID.ToString();
                        }
                        if (string.IsNullOrWhiteSpace(FName))
                        {
                            FName = w.WenJianNane.ToString();
                        }
                        else
                        {

                            FName = FName + "," + w.WenJianNane.ToString();
                        }
                    }
                }

                string json = "{'ID':'" + FID + "','WenJianNane':'" + FName + "'}";
                return json;
                //string json = "{'ID':" + w.ID + ",'WenJianNane':'" + w.WenJianNane + "'}";
                //return json;
            }
            catch (Exception)
            {
                return null;
            }
        }

收获园豆:10
孩丿 | 初学一级 |园豆:134 | 2017-04-06 18:06

你这种方法我仔细看了,貌似的可以的,但我还没时间去试!

gyangjing | 园豆:4 (初学一级) | 2017-04-18 14:14
其他回答(3)
0

HttpPostedFileBase不就ok了吗

Jeffcky | 园豆:2789 (老鸟四级) | 2017-04-03 23:04

这个只能一次传一张,页面上是有多个file标签的。。。。

支持(0) 反对(0) gyangjing | 园豆:4 (初学一级) | 2017-04-03 23:20
0

首先,页面时页面,实现是实现,遍历所有的input,将所有的File加入一个数组中,

var fileArray=[];

function onchange(this){

fileArray.push(...);不知道什么架构,反正往里面放文件就是了

}

温柔的枭兽 | 园豆:210 (菜鸟二级) | 2017-04-04 10:10

是用的Asp.net MVC4

支持(0) 反对(0) gyangjing | 园豆:4 (初学一级) | 2017-04-04 13:36
0

像这种需求的不是都有插件么

codingHeart | 园豆:1511 (小虾三级) | 2017-04-05 08:48

不用任何插件

支持(0) 反对(0) gyangjing | 园豆:4 (初学一级) | 2017-04-05 12:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册