ftp下载 弹出框乱码问题的解决方案
2010-07-02 16:03
399 查看
(1)方法一:
string fileName="中文.xls";
string filePath = @"/UpLoad/Reports"
FileInfo file = new FileInfo(System.Web.HttpContext.Current.Server.MapPath(filePath)+fileName);
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" +HttpUtility.UrlEncode("下载文件"+".xls",System.Text.Encoding.UTF8));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(file.FullName);
// 停止页面的执行
Response.End();
(2)方法二:
/// <summary>
/// 下载文件
/// </summary>
/// <param name="path">要下载的文件的路径</param>
/// <param name="name">下载文件的保存名称</param>
public static void downLoad(string path,string name)
{
FileStream fileStream = new FileStream(path, FileMode.Open);
long fileSize = fileStream.Length;
byte[] fileBuffer = new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.Charset = "utf-8";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/octet-stream";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Type", "application/octet-stream");// "application/octet-stream");
System.Web.HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.BinaryWrite(fileBuffer);
HttpContext.Current.Response.End();
}
string fileName="中文.xls";
string filePath = @"/UpLoad/Reports"
FileInfo file = new FileInfo(System.Web.HttpContext.Current.Server.MapPath(filePath)+fileName);
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" +HttpUtility.UrlEncode("下载文件"+".xls",System.Text.Encoding.UTF8));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(file.FullName);
// 停止页面的执行
Response.End();
(2)方法二:
/// <summary>
/// 下载文件
/// </summary>
/// <param name="path">要下载的文件的路径</param>
/// <param name="name">下载文件的保存名称</param>
public static void downLoad(string path,string name)
{
FileStream fileStream = new FileStream(path, FileMode.Open);
long fileSize = fileStream.Length;
byte[] fileBuffer = new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.Charset = "utf-8";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/octet-stream";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Type", "application/octet-stream");// "application/octet-stream");
System.Web.HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.BinaryWrite(fileBuffer);
HttpContext.Current.Response.End();
}
相关文章推荐
- IE6下载文件名过长导致乱码问题的解决方案
- 解决ftp下载文件名乱码问题
- Struts2 文件下载及中文乱码问题的解决方案(下载各种格式文件)
- .net MVC 下载文件乱码问题解决方案
- linux下访问windows ftp服务器出现乱码问题解决方案
- 百度推广搜索API异步数据报告的下载与保存,另附乱码问题解决方案
- js url传值中文乱码之解决方案(文件下载乱码问题)
- Struts2文件上传与下载中的中文乱码问题解决方案
- java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题
- 关于java文件下载文件名乱码问题解决方案
- HttpWebRequest下载文件,乱码问题解决方案
- 解决IE不弹出下载框而直接打开Word、Excel乱码问题
- Java中FTP文件上传下载中文文件乱码问题
- .net MVC 下载文件乱码问题解决方案
- Struts2 文件下载及中文乱码问题的解决方案
- Nodejs下载文件文件名中文乱码问题解决方案
- Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题
- .net MVC 下载文件乱码问题解决方案
- 关于java文件下载文件名乱码问题解决方案
- 关于java文件下载文件名乱码问题解决方案