未能找到文件“C:\Inetpub\wwwroot\KSJxbsuOA\upload\Visio”。 的错误 数据库是有完整纪录的在dategrid 也有完整路径.但到下载的页面路径就变里 怎么回事
private void dg_jcxx_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item)
{
((CheckBox)e.Item.FindControl("chkItem")).Attributes.Add("onclick","checkitem()");
((HtmlInputHidden)e.Item.FindControl("forchkItem")).Value=e.Item.Cells[1].Text;
e.Item .Cells [2].Text="<a href= Sharedownload.aspx?softpath="+e.Item .Cells [3].Text .Trim ().ToString ()+" target=_blank>"+e.Item .Cells [2].Text .ToString ()+"</a>";
e.Item.Cells[4].Text=System.DateTime.Parse(e.Item.Cells[4].Text.ToString()).ToString("yyyy-MM-dd");
}
}
数据库的一条纪录18 30 C:\Inetpub\wwwroot\KSJxbsuOA\upload\Visio 2003.rar 飞过海 1 2008-8-8
private void filedown()
{
string strpath=Request["softpath"].ToString ();
if(strpath.ToString() !="")
{
///文件下载
FileStream fileStream = new FileStream(strpath, FileMode.Open);
long fileSize = fileStream.Length;
string filename=strpath.Substring (strpath.LastIndexOf("\\")+1);
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + UTF_FileName(filename) + "\";");
////attachment --- 作为附件下载
HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
byte[] fileBuffer = new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
HttpContext.Current.Response.BinaryWrite(fileBuffer);
fileStream.Close();
HttpContext.Current.Response.End();
}
else
{
js.JSUtil.Alert(this.Page,"文件不存在!!! ");
}
}
他会报找不到文件 未能找到文件“C:\Inetpub\wwwroot\KSJxbsuOA\upload\Visio”。 的错误 但我的原始文件名是 C:\Inetpub\wwwroot\KSJxbsuOA\upload\Visio 2003.rar 它漏掉了 2003.rar 这是什么原因!在 e.Item .Cells [2].Text="<a href= Sharedownload.aspx?softpath="+e.Item .Cells [3].Text .Trim ().ToString ()+" target=_blank>"+e.Item .Cells [2].Text .ToString ()+"</a>";显示出了完整的路径名称。但到了调用浏览器下载页面后。完整路径变了
------解决方案--------------------
调试一下,看是不是被你的代码截取了