Asp.net System.IO.DirectoryNotFoundException

Asp.net System.IO.DirectoryNotFoundException,asp.net,sql-server,exception,Asp.net,Sql Server,Exception,我希望你们中的一位能够帮助我解决代码中的一个错误。请注意,我的经验有限,因此请解释!:) 当我单击“添加新产品”(btnSubmit)时,我收到以下错误消息: mscorlib.dll中发生“System.IO.DirectoryNotFoundException”类型的异常,但未在用户代码中处理 代码: 私有void SaveProductPhoto() { if(PPhoto.PostedFile!=null) { 字符串PName=PPhoto.PostedFile.FileName.To

我希望你们中的一位能够帮助我解决代码中的一个错误。请注意,我的经验有限,因此请解释!:)

当我单击“添加新产品”(btnSubmit)时,我收到以下错误消息:

mscorlib.dll中发生“System.IO.DirectoryNotFoundException”类型的异常,但未在用户代码中处理

代码: 私有void SaveProductPhoto() { if(PPhoto.PostedFile!=null) { 字符串PName=PPhoto.PostedFile.FileName.ToString(); 字符串fileExtension=System.IO.Path.GetExtension(PPhoto.FileName)

我的代码在此行失败:

UploadProductPhoto.SaveAs(Server.MapPath("~/ProductImages/" + PName));

请检查路径和文件是否已存在。您可以看到出现错误“找不到路径“\stu-storage2\user area\3\mj350\Desktop\CWWebsite\CWWebsite\ProductImages\stu-storage2\user area\3\mj350\Desktop\1.jpg”的一部分”


这表示文件或文件路径错误

请检查路径和文件是否已存在。您可以看到出现错误“找不到路径的一部分”\stu-storage2\user area\3\mj350\Desktop\CWWebsite\CWWebsite\ProductImages\stu-storage2\user area\3\mj350\Desktop\1.jpg“


这表示文件或文件路径错误

以下行不正确:

UploadProductPhoto.SaveAs(Server.MapPath("~/ProductImages/" + fileName));
这是不正确的,因为您正在使用关于不存在路径的
Server.MapPath
“~/ProductImages/”+fileName

要修复它,您必须首先获取要放置映像的目录路径,然后将其与文件名组合,如下所示:
System.Io.path.Combine(Server.MapPath(“~/ProductImages/”,fileName)

请注意,Server.MapPath仅包含
“~/ProductImages/”

最后,您将得到类似下面的代码

UploadProductPhoto.SaveAs(
     System.IO.Path.Combine(Server.MapPath("~/ProductImages/"), fileName)
);

以下行不正确:

UploadProductPhoto.SaveAs(Server.MapPath("~/ProductImages/" + fileName));
这是不正确的,因为您正在使用关于不存在路径的
Server.MapPath
“~/ProductImages/”+fileName

要修复它,您必须首先获取要放置映像的目录路径,然后将其与文件名组合,如下所示:
System.Io.path.Combine(Server.MapPath(“~/ProductImages/”,fileName)

请注意,Server.MapPath仅包含
“~/ProductImages/”

最后,您将得到类似下面的代码

UploadProductPhoto.SaveAs(
     System.IO.Path.Combine(Server.MapPath("~/ProductImages/"), fileName)
);

在哪一行失败?在哪一行失败?很抱歉,笔记本电脑发布了奇怪的消息。它显示“mscorlib.dll中发生了“System.FormatException”类型的异常,但未在用户代码中处理。其他信息:输入字符串的格式不正确。”我在“ProductImageUrl=“~/ProductImages”之后收到此消息/“+UploadProductPhoto.FileName,};”这是另一个错误。与您问题中的第一条错误消息无关。似乎您希望生成tImage的图像URL,然后只需使用以下行=>
ProductImageUrl=string.Format(“/ProductImages/{0}”,UploadProductPhoto.FileName);
注意,我没有使用~“Character再次感谢您的回复!我已更改了代码行,但仍然收到相同的错误消息!:(我认为没有为您刚才显示的行引发异常。请确保从字符串变量转换为整数是正确的。我的意思是FormatException可能是因为您正在将文本转换为整数,而文本不正确。请检查。Hi@CodeNotFound。我认为可以,但我的编码能力不是最好的。我知道我用“购物车”逻辑更新了原始帖子,用于添加新产品?这有助于诊断问题。再次感谢!JackSorry,笔记本电脑的帖子很奇怪。它写道“mscorlib.dll中发生'System.FormatException'类型的异常,但未在用户代码中处理。其他信息:输入字符串的格式不正确。”我在“ProductImageUrl=“~/ProductImages/”+UploadProductPhoto.FileName,}之后收到此消息;“这是另一个错误。与问题中的第一条错误消息无关。似乎您想生成tmage的图像URL,然后只需使用以下行=>
ProductImageUrl=string.Format(“/ProductImages/{0}”,UploadProductPhoto.FileName);
注意我没有使用”~”字符再次感谢您的回复!我已更改了代码行,但仍然收到相同的错误消息!:(我认为没有为您刚才显示的行引发异常。请确保从字符串变量转换为整数是正确的。我的意思是FormatException可能是因为您正在将文本转换为整数,而文本不正确。请检查。Hi@CodeNotFound。我认为可以,但我的编码能力不是最好的。我知道我用“购物车”逻辑更新了原始帖子,用于添加新产品?这有助于诊断问题。再次感谢!Jack