前台页面
<% using (Html.BeginForm("ContractUpFile", "Employees", FormMethod.Post, new { enctype = "multipart/form-data" }))
   { %>
    <div style="margin:0 5px 5px 20px;">
        <fieldset style="height:280px; ">
            <legend>上传合同信息</legend>
            
            <p style=" position:absolute; margin-left:10px; margin-top:10px;">
            
            <label for="upFile">选择上传合同文件:<a href="/Employees/ContractUpFileExcelDemo">下载模板</a></label>
            <input type="file" name="upFile" style=" width:600px; height:25px;" /><br />
            <input type="hidden" name="emp_no" id="emp_no"  />
</fieldset>
</div>
<%}%>后台代码:
public ActionResult ContractUpFile(HttpPostedFileBase upFile)
{
   object fileName=upFile.FileName;//获取的是上传文件的文件名,不是全路径
}

解决方案 »

  1.   

    Server.MapPath("xxx")用服务器路径加上filename吧从网上了解到对于不同浏览器upFile.FileName有的带路径,有的不带,ie带,谷歌不带
      

  2.   

    我试过了, 我浏览器是ie的,只能获取到它的文件名, Server.MapPath("xxx") 获取的不是我上传文件的那个路径,我要的路径是“E:\\Contract.docx” ,server.MapPath("XXX")获取的是“"E:\\ehr\\trunk\\hrclient1\\Employees\\Contract.docx"”,而我上传的word的实际路径是前面那个路径
      

  3.   

    好了,谢谢,server.MapPath("Xxx")还是未能解决,但是我从另外一种方式解决了这个问题。
    希望能在你们这里明白这个获取路径的问题。
      

  4.   

    可以考虑换个flash控件上传文件。
      

  5.   

    要上传word文档,查询数据库信息,填写到word文档中,然后打印word ,生成pdf文件
    现在要实现这个功能,第一次接触,刚刚入行不久 ,所以不知道该怎么实现,之前实现是在word文档里面建了书签,后台通过书签来将要填写的内容填写到word里面,请教各位怎么实现这个功能啊!谢谢!