关于ASP.NET中上传代码中FileName的问题

我们要实现上传的功能,但是我写好代码后运行是会抛出异常,我捕获后也不知道怎么去解决,所以请各位高手指教。(一个SelectFile,然后一个BUTTON,点击BUTTON... 我们要实现上传的功能,但是我写好代码后运行是会抛出异常,我捕获后也不知道怎么去解决,所以请各位高手指教。(一个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\Public\Pictures\Sample Pictures\Winter Leaves.jpgC:\Users\jack\Documents\Dome\2009-09-16\09-09-16(3)\UpLoad\C:\Users\Public\Pictures\Sample Pictures\Winter Leaves.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
展开
 我来答
茂林修猪
2009-09-20 · TA获得超过120个赞
知道小有建树答主
回答量:430
采纳率:100%
帮助的人:240万
展开全部
我也遇到过这种情况

不过我把服务端路径的获取方法改为
request.PhysicalApplicationPath+存文件的路
试试看
kid83
2009-09-20 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1993万
展开全部
"../UpLoad/";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友93de334
2009-09-20 · TA获得超过144个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:101万
展开全部
在根目录下有UpLoad文件夹吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b173602
2009-09-21 · TA获得超过1681个赞
知道小有建树答主
回答量:1466
采纳率:0%
帮助的人:839万
展开全部
string path = "./UpLoad/";换成string path = "~//UpLoad//";试试..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式