从servermap路径上的字节数组中保存文件

我想从字节数组中保存PDF文件,并希望将该文件保存在我的服务器地图路径位置。

下面是我的代码片段。 它没有给出错误也没有保存文件。 如果它是错误的,欢迎您更正我的语法,或者通过引用其他代码片段来帮助我。

byte[] data = (byte[])listDataset.Tables[0].Rows[0][0]; System.IO.FileStream file = System.IO.File.Create(Server.MapPath(".\\TmpImages\\"+hfFileName+".pdf ")); file.Write(data, 0, data.Length); file.Close(); 

这可能是一个权限问题… ASP.net运行的帐户必须具有对目标目录的写权限。

另一个“不回答”,但可能有助于统治一些东西。 我试过了

  byte[] data = new byte[] { 12, 14, 63, 45, 3 }; System.IO.FileStream file = System.IO.File.Create(HttpContext.Current.Server.MapPath(".\\imageLibrary\\test.pdf ")); file.Write(data, 0, data.Length); file.Close(); 

它工作正常(test.pdf创建)。 我原以为文件路径末尾的空间可能会导致问题,但事实并非如此。

您确定没有将此块包含在可能吞下路径或权限错误的try {} catch {}块中吗? 您是否尝试在file.Close()行上设置断点以确保它到达那么远?

 Server.MapPath(".\\TmpImages\\"+hfFileName+".pdf ") 

你确定这条道路是你所期望的吗? 如果您确定没有获得exception(即权限),那么我建议调试并查看对Server.MapPath的调用返回的值。

文件可能已被写出,但可能与您预期的位置不同。

“如果[MapPath的参数]不是以斜杠开头,则MapPath方法返回相对于正在处理的.asp文件目录的路径。” http://msdn.microsoft.com/en-us/library/ms524632%28v=vs.90%29.aspx