使用Chrome或Internet Explorer时获得不同的路径 - c#

这是我的代码:

  public ActionResult PostFile(HttpPostedFileBase file, int NoteId)  
        {    
            FileInfo f = new FileInfo(file.FileName);
            string fullname = f.FullName; //fullname changes depending on if I am using IE or Chrome
        }  

这是我的视图(PostFile.cshtml):

@model RiPSShared.Models.RiPSModels.AgencyNote
<form action="@Url.Action("PostFile", "AgencyNotes", new { NoteId=Model.aut_id})" method = "post" enctype="multipart/form-data">
    <label for="file1"> File name:</label>
    <input type="file" name="file" id="file1" />
    <input type="submit" value="Submit" />    
</form>

为什么我得到file参数的其他路径?当我使用IE时,正确的路径是("C:\\Users\\User\\Desktop\\sds - Copy (5).docx"),但是当使用Chrome时,我得到的路径是错误的:C:\Program Files (x86)\IIS Express\
我正在使用变量全名来获取路径值...

参考方案

IE显然发布了整个原始路径,这是一个安全披露问题。幸运的是,Chrome浏览器没有,因此您只收到纯文件名,然后在IISExpress进程的运行上下文中通过调用new FileInfo(file.FileName).FullName进行扩展。

弹出表单中的ajax数据发布未命中控制器方法ASP.NET MVC - c#

我有一个弹出表单AddorEdit.cshtml,从index.cshtml页面调用。表单正在打开,但无法将数据发布到控制器方法。索引页// index.cshtml // <a class="btn btn-success" style="margin-bottom:10px;" onclick="P…

将字符串数组发布到.net-core mvc - c#

问题:我正在尝试通过jquery post发送一个字符串数组,但是它们没有被正确解析,我得到的只是列表中的null。javascript:var array = []; array.push("test") array.push("test2") array.push("tes3") $.post(…

在线测试系统ASP.NET MVC - javascript

我能够按ID显示问题,但不知道如何为不同用户随机显示问题,并且每次用户登录新的随机组合时都会显示问题。有人可以指导吗?我的控制器:public ActionResult Index() { var question = Quiz.Instance.LoadQuiz(); return View(question); } [HttpPost] public A…

如何在mvc3控制器中的json数组中获取值? - c#

我有一个包含Json结果的结果。 Json结果如下。 <string xmlns="http://tempuri.org/"> {"Method":"LOGIN_AUTHENTICATE Start :8/29/2013 1:23:46 AM ASW :8/29/2013 1:23:46 AM P…

这个json格式正确吗? - c#

我尝试解析时有json数据,返回错误的语法错误,请帮助我发现语法错误。[{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName&#…