public void download()
{//下载地址
// string destFileName="";
string sel_sql="select FileUrl from DownLoad where FileID="+Request.QueryString["destFileName"].ToString();
destFileName+=FileUrl;
destFileName = Server.MapPath(".")+destFileName;
destFileName = Server.UrlDecode(destFileName);
if(File.Exists(destFileName))
{
FileInfo fi = new FileInfo(destFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(destFileName);
Response.Flush();
Response.End();
}
else
{
Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
Response.End();
}
}
为什么点下载的时候没反应呢?
{//下载地址
// string destFileName="";
string sel_sql="select FileUrl from DownLoad where FileID="+Request.QueryString["destFileName"].ToString();
destFileName+=FileUrl;
destFileName = Server.MapPath(".")+destFileName;
destFileName = Server.UrlDecode(destFileName);
if(File.Exists(destFileName))
{
FileInfo fi = new FileInfo(destFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(destFileName);
Response.Flush();
Response.End();
}
else
{
Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
Response.End();
}
}
为什么点下载的时候没反应呢?
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="download")
{
download();
}
}
我觉得也是destFileName的问题,不晓得么样改??
未将对象引用设置到对象的实例。
提示的错误
string sel_sql="select FileUrl from DownLoad where FileID='"+Request.QueryString["destFileName"].ToString()+"'";