为什么我的代码不能将文件保存到C盘?

时间:2015-11-18 06:12:11

标签: c# asp.net c#-4.0 webforms c#-3.0

我将图片保存到项目根目录中的 SiteImages 文件夹,但我想将其放在我的C驱动器上并希望保存并从中访问图片即 C; / SiteImages ,但我无法弄清楚

代码:(上传)

string fileName = Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);

代码:(访问)

string FilePath = new Uri(Server.MapPath("~/SiteImages/")).AbsoluteUri;

请帮助它在C盘中运行

更新:现在问题是使用来自C盘的gridview拣图。

旧:

<img src='../SiteImages/<%# Eval("PersonalInfoEmployeePicture") %>' width="20" height="20" onmouseover="ShowFull(this)" onmouseout="ShowActual(this)" />

2 个答案:

答案 0 :(得分:0)

它应该是这么简单,对吧?

string fileName = Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs("C:\\SiteImages\\" + fileName);

string FilePath = "C:\\SiteImages\\" + fileName;

<强>更新: 正如您所说,您希望将其作为绝对URI访问,请在IIS中创建指向C:中SiteImages文件夹的虚拟目录。有了它,您可以使用Server.MapPath函数将路径映射到您指定的文件夹。

答案 1 :(得分:0)

只需移除图片来源中的开始..

即可
<img src='/SiteImages/<%# Eval("PersonalInfoEmployeePicture") %>' width="20" height="20" onmouseover="ShowFull(this)" onmouseout="ShowActual(this)" />

如果您仍使用以下代码保存上传的图片

FileUpload1.PostedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);