C#网页点击按钮,提供文件下载功能的问题....
protectedvoidButton3_Click(objectsender,EventArgse){stringcl=this.ClassList.SelectedV...
protected void Button3_Click(object sender, EventArgs e)
{
string cl = this.ClassList.SelectedValue.ToString();
string fileName = cl + ".doc";
this.Response.Clear();
this.Response.ContentType = "application/msword";
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
this.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
this.Response.WriteFile("D:\\Project\\TopicCardPrint\\TopicCardPrint\\TopicCardPrint\\TopicCard\\" + cl + "原版.doc");
this.Response.Flush();
this.Response.End();
}
360极速浏览器ie模式和ie9模式都是第一幅图的情况,直接使用ie9就是第二幅图的情况.但我不管用哪个浏览器在邮箱里进行附件下载都是正常可以使用的..所以我觉得是我代码哪里有问题...
http://zhidao.baidu.com/question/35895818.html这个问题里的4个方法我都用过了...都是上述情况.... 展开
{
string cl = this.ClassList.SelectedValue.ToString();
string fileName = cl + ".doc";
this.Response.Clear();
this.Response.ContentType = "application/msword";
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
this.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
this.Response.WriteFile("D:\\Project\\TopicCardPrint\\TopicCardPrint\\TopicCardPrint\\TopicCard\\" + cl + "原版.doc");
this.Response.Flush();
this.Response.End();
}
360极速浏览器ie模式和ie9模式都是第一幅图的情况,直接使用ie9就是第二幅图的情况.但我不管用哪个浏览器在邮箱里进行附件下载都是正常可以使用的..所以我觉得是我代码哪里有问题...
http://zhidao.baidu.com/question/35895818.html这个问题里的4个方法我都用过了...都是上述情况.... 展开
展开全部
private void Button1_Click(object sender, System.EventArgs e)
{
string sFileName = Server.MapPath("");//在这里请先读取您的文件
FileStream fileStream=new FileStream(sFileName,FileMode.Open);
long fileSize = fileStream.Length;
byte[] fileBuffer=new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
//如果不写fileStream.Close()语句,用户在下载过程中选择取消,将不能再次下载
fileStream.Close();
Context.Response.ContentType="application/octet-stream";
Context.Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(sFileName,Encoding.UTF8 ));
Context.Response.AddHeader("Content-Length",fileSize.ToString());
Context.Response.BinaryWrite(fileBuffer);
Context.Response.End();
Context.Response.Close();
}
this.Response.WriteFile
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
这两个东西.您这么用虽然没有错误.但是并不推荐,因为在某些特殊的情况下.这样做会导致一些奇怪的错误出现,试试上述的方法吧.如果有问题.您可以继续追问.或直接向我求助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询