高手指教ASP.NET中filename的一些问题

我是ASP.NET的菜鸟,才开始学习。使用一个selectfile的控件和一个button来实现上传的功能,但是在我点击上传的时候却抛出异常。但是我的代码在别人电脑上运行... 我是ASP.NET的菜鸟,才开始学习。
使用一个selectfile的控件和一个button来实现上传的功能,但是在我点击上传的时候却抛出异常。但是我的代码在别人电脑上运行的时候却不会抛出异常,而且能实现预期的功能。
我写的BUTTON的代码如下:
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnUpLoad_ServerClick(object sender, EventArgs e)
{
//获取用户选择的上传文件的文件名
string fileName = SelectFile.PostedFile.FileName;
Response.Write(fileName);
//Server对象,获取服务器路径的相对地址
string path = "./UpLoad/";

//if (!Directory.Exists(path))
//{
// Directory.CreateDirectory(path);
//}
try
{
Response.Write(Server.MapPath(path) + fileName);
SelectFile.PostedFile.SaveAs(Server.MapPath(path) +fileName);

}
catch (Exception ex)
{
Response.Write(""+ex);
}

}
}
抛出的异常如下:
C:\Users\jack\Pictures\邮箱163.jpgC:\Users\jack\Documents\Dome\2009-09-16\09-09-16(3)\UpLoad\C:\Users\jack\Pictures\邮箱163.jpgSystem.NotSupportedException: 不支持给定路径的格式。 在 System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath) 在 System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath) 在 System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) 在 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, AccessControlActions control, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath) 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) 在 System.IO.FileStream..ctor(String path, FileMode mode) 在 System.Web.HttpPostedFile.SaveAs(String filename) 在 _Default.btnUpLoad_ServerClick(Object sender, EventArgs e) 位置 c:\Users\jack\Documents\Dome\2009-09-16\09-09-16(3)\Default.aspx.cs:行号 35

我查了很多东西,都不能解决这个问题,特请哪位高手帮我解决下~
展开
 我来答
jippo08456
2009-09-20 · TA获得超过2630个赞
知道小有建树答主
回答量:915
采纳率:0%
帮助的人:631万
展开全部
path = "./UpLoad/";
改为
path = "~/UpLoad/";

Response.Write(Server.MapPath(path) + fileName);
改为
Response.Write(Server.MapPath(path) +“/”+ fileName);

试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式