未能映射路径“/files/”

问题描述

文件错误如下所示,想做一个文件上传功能,这个功能模块是从另一个功能模块拷贝过来的,另一个功能模块能运行正常,不知道这个功能模块有哪写地方有问题。说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.InvalidOperationException:未能映射路径“/files/”。源错误:行45:stringty=File2.PostedFile.ContentType;行46:行47:File2.PostedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath(Pa)+ss);行48:s=ss;行49:return"3";

源文件:f:net计算机精品课程网站YcCourseWebApp_Codeupload.cs行:47堆栈跟踪:[InvalidOperationException:未能映射路径“/files/”。]System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPathvirtualPath,BooleanpermitNull)+9781465System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPathvirtualPath)+39System.Web.VirtualPath.MapPathInternal()+4System.Web.HttpRequest.MapPath(VirtualPathvirtualPath,VirtualPathbaseVirtualDir,BooleanallowCrossAppMapping)+110System.Web.HttpServerUtility.MapPath(Stringpath)+104upload.Up(HtmlInputFileFile2,StringPa)inf:net计算机精品课程网站YcCourseWebApp_Codeupload.cs:47Admin_AddFile.Button1_Click(Objectsender,EventArgse)inf:net计算机精品课程网站YcCourseWebAddHomework.aspx.cs:26System.Web.UI.WebControls.Button.OnClick(EventArgse)+9628614System.Web.UI.WebControls.Button.RaisePostBackEvent(StringeventArgument)+103System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(StringeventArgument)+10System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandlersourceControl,StringeventArgument)+13System.Web.UI.Page.RaisePostBackEvent(NameValueCollectionpostData)+35System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+1724文件源代码如下所示:upload.cs:usingSystem;usingSystem.IO;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;///<summary>///upload的摘要说明///</summary>publicclassupload{publicupload(){////TODO:在此处添加构造函数逻辑//}publicstring[]Resup={"上传失败或指定的文件不存在","文件太大!","格式不对,!","上传成功!"};publicstrings=string.Empty;publicstringfname=string.Empty;publicstringUp(System.Web.UI.HtmlControls.HtmlInputFileFile2,stringPa){////TODO:在此处添加构造函数逻辑//if(File2.PostedFile.ContentLength.ToString()=="0"){return"0";}else{//获取文件名称stringss;fname=System.DateTime.Now.ToString().Replace("-","").Replace("","").Replace(":","");ss=System.DateTime.Now.ToString().Replace("-","").Replace("","").Replace(":","")+Path.GetExtension(File2.PostedFile.FileName);if(File2.PostedFile.ContentLength/1024>10000000){return"1";}else{stringty=File2.PostedFile.ContentType;File2.PostedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath(Pa)+ss);s=ss;return"3";//Up=ss;}}}}

AddHomework.aspx:<%@PageLanguage="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"CodeFile="AddHomework.aspx.cs"ValidateRequest="false"EnableEventValidation="false"Inherits="Admin_AddFile"Title="UntitledPage"%><%@RegisterAssembly="FredCK.FCKeditorV2"Namespace="FredCK.FCKeditorV2"TagPrefix="FCKeditorV2"%><asp:ContentID="Content1"runat="server"contentplaceholderid="ContentPlaceHolder1"><tablealign="center"bgcolor="#e3ebfe"border="0"cellpadding="2"cellspacing="1"style="margin-top:8px"width="98%"><tr><tdstyle="WIDTH:3%;HEIGHT:21px"class="td2"align="center">作业名称:</td><tdstyle="HEIGHT:21px"class="td2"colspan="3"><asp:TextBoxID="TextBox1"runat="server"CssClass="label"Width="558px"></asp:TextBox></td></tr><tr><tdalign="center"class="td2"style="width:3%;height:21px">上传作业:</td><tdalign="left"class="td2"colspan="3"style="height:21px"><asp:TextBoxID="pic"runat="server"CssClass="inputBox"ReadOnly="True"Width="72px"></asp:TextBox><inputid="file1"runat="server"class="inputBox"style="width:141px"type="file"/><asp:ButtonID="Button2"runat="server"CausesValidation="False"CssClass="formbutton"Height="22px"OnClick="Button1_Click"Text="上传"Width="58px"/><asp:LabelID="Label1"runat="server"Visible="False"Width="60px"></asp:Label><inputid="Hidden1"runat="server"type="hidden"/></td></tr><tr><tdstyle="WIDTH:3%;HEIGHT:54px"class="td2"align="center">内容说明:</td><tdstyle="WIDTH:23%;HEIGHT:54px"class="td2"colspan="7"><FCKeditorV2:FCKeditorID="ArticleContent"runat="server"BasePath="~/FCKeditor/">&nbsp;</FCKeditorV2:FCKeditor></td></tr><trbgcolor="#e7e7e7"><tdalign="center"colspan="10"height="24"><asp:ButtonID="Button1"runat="server"OnClick="Button1_Click1"Text="添加"/></td></tr></table></asp:Content>

AddHomework.aspx.cs:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassAdmin_AddFile:System.Web.UI.Page{SqlHelperdata=newSqlHelper();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){}}protectedvoidButton1_Click(objectsender,EventArgse){stringres;uploadup=newupload();res=up.Up(file1,"../files/");this.Label1.Visible=true;this.Label1.Text=up.Resup[Convert.ToInt32(res)];this.pic.Text=up.s;Hidden1.Value=up.fname;}protectedvoidButton1_Click1(objectsender,EventArgse){stringfilename=Hidden1.Value;inti=this.pic.Text.LastIndexOf(".");stringnewname=this.pic.Text.Substring(i);//获取文件的扩展名stringsql="insertintoHomework(TitleName,FileDs,FilePath,Ename,FileName)values('"+TextBox1.Text.Trim()+"','"+ArticleContent.Value+"','"+pic.Text+"','"+newname+"','"+filename+"')";data.RunSql(sql);Alert.AlertAndRedirect("添加成功继续添加","Homework.aspx");}}

解决方案

解决方案二:
当前项目路径下有files目录吗?
解决方案三:
你的虚拟路径对吗?或者没有这个文件夹吧!???
解决方案四:
引用1楼feiyun0112的回复:

当前项目路径下有files目录吗?

有的
解决方案五:
res=up.Up(file1,"../files/");System.Web.HttpContext.Current.Server.MapPath(Pa)你已经取了MapPath,又传入的../files/你这是要把文件存到网站文件夹外面的节奏吗?不要把文件存到网站文件夹外面你只应该将文件放到网站目录里面如果就是有需要把文件放到网站目录外面,那么你需要添加虚拟目录,把那个目录加进网站目录里来
解决方案六:
MapPath获取的是网站根目录的路径跟你当前页面路径无关的用了MapPath,就别在用相对路径的..了,直接拼接绝对路径就好
解决方案七:
要么你别用MapPath,就用相对路径不要混用
解决方案八:
引用2楼u010145097的回复:

你的虚拟路径对吗?或者没有这个文件夹吧!???

如何修改虚拟路径,虚拟路径方面不是很懂,刚学C#。
解决方案九:
ss=System.DateTime.Now.ToString().Replace("-","").Replace("","").Replace(":","")+Path.GetExtension(File2.PostedFile.FileName);Replace("-","")把这个减号改成“/”ss=System.DateTime.Now.ToString().Replace("/","").Replace("","").Replace(":","")+Path.GetExtension(File2.PostedFile.FileName);

时间: 2024-09-15 20:01:39

未能映射路径“/files/”的相关文章

net 网站 vs2012- System.InvalidOperationException: 未能映射路径“/”。

问题描述 System.InvalidOperationException: 未能映射路径"/". "/发布"应用程序中的服务器错误. 未能映射路径"/". 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.InvalidOperationException: 未能映射路径"/". 源错误: 行 288: { 行 289

“/”应用程序中的服务器错误。未能映射路径“/”

问题描述 解决方案 解决方案二:最好是贴代码,不然不能解决你的实际问题,解决方案三:有重写Url吗?/表示站点根路径下的默认文档,比如index.htm等这种问题通常是访问IIS的用户(一般不是你当前登陆的Windows用户),匿名登陆情况下ASPNET或者IIS_IUSER,当你在网站目录上没用给这些用户读权限时,将会报此错误解决方案四:问题弄好,但现在连接上不数据库--更新时间:2013-04-29--功能:设置登录数据库脚步USE[master]GOCREATELOGIN[21232f29

VS2005调试中出现“未能找到路径”。。。。

问题描述 我是个新手,从51aspx上下了个源代码,电脑是WIN7,已经做好VS2005+SQL2005的数据库连接,不过现在调试网站一直出现"未能找到路径"....具体如下:"/xkdoc"应用程序中的服务器错误.--------------------------------------------------------------------------------未能找到路径"E:downcode选课系统time.txt"的一部分.说明

关于struts2请求返回类型在Apache服务器映射路径的问题

问题描述 关于Apache服务器映射路径的问题: 问题如下: 我的实际域名为www.xxxx.com/nmd,在阿帕奇上 映射为:www.xxxx.net,也就是把最后的com/nmd映射为net了.我的访问路径是www.xxxx.net,我的struts2的返回类型为chain,要转发到一个另外一个Action上,我假设转发到yyy.do这个Action上了.问题出现在yyy.do处理后返回到jsp时,路径跳到www.xxxx.com/nmd上去了,而不是开始请求的www.xxxx.net路径

使用Java内存映射(Memory-Mapped Files)处理大文件

NIO中的内存映射 (1)什么是内存映射文件 内存映射文件,是由一个文件到一块内存的映射,可以理解为将一个文件映射到进程地址,然后可以通过操作内存来访问文件数据.说白了就是使用虚拟内存将磁盘的文件数据加载到虚拟内存的内存页,然后就可以直接操作内存页数据. 我们读写一个文件使用read()和write()方法,这两个方法是调用系统底层接口来传输数据,因为内核空间的文件页和用户空间的缓冲区没有一一对应,所以读写数据时会在内核空间和用户空间之间进行数据拷贝,在操作大量文件数据时会导致性能很低,使用内存

未能找到路径“C:\Documents and Settings\Administrator\桌面\bxshw\newproduct\ 怎么回事哦

问题描述 //取得要保存服务器路径(绝对)stringpath=Server.MapPath("../newproduct");//文件名的路径stringfname=File10.PostedFile.FileName;//获得文件名//得到扩展名fileName=fname.Substring(fname.LastIndexOf(@"")+1);fname=fname.Substring(fname.LastIndexOf("."));//保

eWebEditor在线编辑器,页面显示出现“未能找到路径‘D:\。。。。menuconfig\default.config’的一部分”,求高手解救。

问题描述 在VS中,拖出该控件的时候就出现错误,呈现控件时出错-Unnamed1发生了未经处理的异常.无效的类别字符串(异常来自HRESULT:0x800401F3(CO_E_CLASSSTRING)) 该怎么解决这个问题呢?求救,谢谢各位大侠了! 解决方案 解决方案二:同样遇到这个问题--同求--解决方案三:就是路径有问题呗..你那个路径怎么写的咯~/表示根目录只能在服务端识别../表示上一级目录html的写法..解决方案四:文件不全

读取文本文件时的相对路径问题

问题描述 publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){string[]filearr=File.ReadAllLines(Server.MapPath("~/")+"output.txt",Encoding.Default);for(inti=0;i<filearr.Length;i++){//this.ListBox

请问下如何获取网站路径在本机路径的前一个目录里的文件路径?

问题描述 Server.MapPath("../DataBase/MyBook.mdb");我这样要出错,请问该怎么样用? 解决方案 解决方案二:stringPath=Server.MapPath("../DataBase/")+"/MyBook.mdb";解决方案三:还是一样,提示:未能映射路径"/DataBase/解决方案四:Server.MapPath("/DataBase/MyBook.mdb");取得物理全