Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用IE 11上载文件时出现空引用异常_C#_Html_Asp.net Mvc - Fatal编程技术网

C# 使用IE 11上载文件时出现空引用异常

C# 使用IE 11上载文件时出现空引用异常,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,在MVC中,我尝试创建一个多文件上传选项。它可以在其他浏览器中正常工作,但在IE11中则不行 HTML部分 控制器 if (FileUpload != null && FileUpload[0] != null) { for (int i = 0; i < FileUpload.Count; i++) {

在MVC中,我尝试创建一个多文件上传选项。它可以在其他浏览器中正常工作,但在IE11中则不行

HTML部分

控制器

if (FileUpload != null && FileUpload[0] != null)
                    {
                        for (int i = 0; i < FileUpload.Count; i++)
                        {
                            if (FileUpload[i].ContentLength > 0)
                            {
                                //string fileExtension = System.IO.Path.GetExtension(FileUpload[i].FileName);
                                string fileExtension = "." +FileUpload[i].FileName.Split('.')[1];
                                model.UploadFile.FileType = fileExtension;

                                //if (fileExtension == ".xls" || fileExtension == ".xlsx")
                                //{
                                //string filename =DateTime.Now.ToString("hh:mm:ss")+FileUpload.FileName;
                                string[] stAFileName = FileUpload[i].FileName.Split('.');

                                string strFileName = stAFileName[0] + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + stAFileName[1];
                                string fileLocation = Path.Combine(Server.MapPath("~/Content/UploadedFiles/"), strFileName);

                                model.UploadFile.FileName = stAFileName[0];
                                model.UploadFile.FileSize = (Convert.ToInt32(FileUpload[i].ContentLength) / 1000).ToString();

                                try
                                {
                                    if (System.IO.File.Exists(fileLocation))
                                    {
                                        System.IO.File.Delete(fileLocation);
                                    }
                                }
                                catch
                                {
                                    //System.IO.File.Delete(fileLocation);
                                    //FileUpload.SaveAs(fileLocation);
                                }

                                FileUpload[i].SaveAs(fileLocation);
                                model.UploadFile.FilePath = "/Content/UploadedFiles/" + strFileName;
                                if (FileUpload[i].ContentLength > 0)
                                {
                                    if (data.RID > 0)
                                    {
                                        model.UploadFile.ReportId = data.RID;
                                        _reportProvider.SaveFile(model.UploadFile);
                                    }
                                }
                                //}
                            }
                        }
                    }
if(FileUpload!=null&&FileUpload[0]!=null)
{
对于(int i=0;i0)
{
//字符串fileExtension=System.IO.Path.GetExtension(FileUpload[i].FileName);
字符串fileExtension=“.”+FileUpload[i].FileName.Split('.')[1];
model.UploadFile.FileType=文件扩展名;
//如果(文件扩展名==“.xls”| |文件扩展名==“.xlsx”)
//{
//字符串文件名=DateTime.Now.ToString(“hh:mm:ss”)+FileUpload.filename;
字符串[]statfilename=FileUpload[i].FileName.Split('.');
字符串strFileName=stAFileName[0]+“”+DateTime.Now.ToString(“yyyymmddhhmmssff”)+“+stAFileName[1];
字符串fileLocation=Path.Combine(Server.MapPath(“~/Content/UploadedFiles/”),strFileName);
model.UploadFile.FileName=statfilename[0];
model.UploadFile.FileSize=(Convert.ToInt32(FileUpload[i].ContentLength)/1000).ToString();
尝试
{
if(System.IO.File.Exists(fileLocation))
{
System.IO.File.Delete(fileLocation);
}
}
抓住
{
//System.IO.File.Delete(fileLocation);
//FileUpload.SaveAs(fileLocation);
}
FileUpload[i].SaveAs(fileLocation);
model.UploadFile.FilePath=“/Content/UploadedFiles/”+strFileName;
如果(FileUpload[i].ContentLength>0)
{
如果(data.RID>0)
{
model.UploadFile.ReportId=data.RID;
_reportProvider.SaveFile(model.UploadFile);
}
}
//}
}
}
}
我找到的唯一解决方案是我们可以更改IE设置,但对于大量系统来说这是不可能的


有什么方法可以解决这个问题吗

IE 11中没有的
是什么意思?有什么问题吗<代码>
点击
F12
并检查控制台日志和网络选项卡。可能是表单根本没有发布,或者存在另一个错误。另一方面,如果IE11不支持
multiple
属性,那么您将无能为力。您必须找到一种不同的方式来发布多个文件,可能是通过jQuery插件、Javascript库或您自己创建并发送post请求的Javascript代码。所有其他数据都会发布,只有上传的文件会失败。