asp.net response写文件
来源:互联网 发布:js求数组的最大值 编辑:程序博客网 时间:2024/05/22 13:14
protected void Button2_Click(object sender, EventArgs e)
{
bool ok = true;
string fileName;
fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
try
{
Response.ClearHeaders();
Response.ContentType = "application/msword;";
Response.Charset = "UTF-8";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename=/"{0}/"", fileName));
Response.BinaryWrite(Encoding.Default.GetBytes(strr));
}
catch (Exception ex)
{
ok = false;
Response.Write("生成文件失败:" + ex.Message + ",请稍后再试。");
CreateGbpt(fileName, strr);
}
if (ok)
{
Response.End();
}
}
private void CreateFile(string fileName, string text)
{
bool ok = true;
string filePath;
filePath = Server.MapPath(fileName);
Encoding code = Encoding.GetEncoding("utf-8"); //定义编码
try
{
using (StreamWriter sw = new StreamWriter(filePath, false, code))
{
sw.Write(text.Trim());
sw.Flush();
}
}
catch (DirectoryNotFoundException ex)
{
ok = false;
Response.Write("写入文件出错:" + ex.Message);
}
//文件写入成功,下载文件
if (ok)
{
DownLoadFile(fileName);
}
}
private void DownLoadFile(string fileName)
{
bool ok = true;
if (System.IO.File.Exists(Server.MapPath(fileName)))
{
try
{
Response.ClearHeaders();
Response.ContentType = "application/msword;";
Response.Charset = "UTF-8";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename=/"{0}/"", fileName));
Response.BinaryWrite(GetFileBytes(fileName));
}
catch (Exception ex)
{
ok = false;
Response.Write("文件不能提供下载,请手动点击下载。" + ex.Message);
}
if (ok)
{
File.Delete(Server.MapPath(fileName));
Response.End();
}
else
{
//HypFile.NavigateUrl = fileName;
//HypFile.Text = "生成文件:" + fileName + ",请点击下载";
}
}
}
private byte[] GetFileBytes(string fileName)
{
try
{
using (System.IO.FileStream fileStream = new System.IO.FileStream (System.Web.HttpContext.Current.Server.MapPath(fileName), System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
return bytes;
}
}
catch
{
return null;
}
}
- asp.net response写文件
- Response.ContentType (ASP.NET)
- Asp.Net Response.Redirect()
- asp.net中打开文件的方法Response.WriteFile();
- 用Response向客户端发送文件(ASP.NET)
- ASP.NET使用Response.WriteFile(filename);实现 文件下载
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- 用Response向客户端发送文件(ASP.NET)
- asp.net response.ContentType 下载文件的四种方法
- asp.net中怎样写Log文件?
- ASP.net 类里用 Response.Write
- Asp.NET(asp)写文件的一个小实例程序。
- ASP中巧用Response存取文件
- 【.NET 】ASP.NET中Response.End()异常
- 国内高校IP地址
- 夫妻间的“魔鬼定律”
- GOOD WEB share
- 如何评估CRM集成的优劣
- #define #pragma warning
- asp.net response写文件
- 遍历JavaScript对象的所有属性
- myeclipse5.5中的快捷键及相关插件
- 工作日志 2010/3/12
- python eric 中的错误:The file could not be opened.
- step by step 教你裁剪出一个Mini_Linux_LiveCD
- 我在MBTI职业性格测试中的结果
- delphi如何設實現如下界面
- 智睿学校网站管理系统VER1.5.7后台漏洞