我引用别人的一个类,其中一个参数是System.Web.HttpResponse response,引用的时候怎么声明?还有,麻烦大家帮我看看这个类,我有很多不
namespace FileTo
{
public class Class1
{
/// <summary>
/// grid转excel
/// </summary>
/// <param name= "pa "> 页面HttpResponse输入 </param>
/// <param name= "gridview "> 传入需要生成excel的gridview </param>
/// <param name= "filename "> 生成的文件名 </param>
/// <param name= "path "> 生成的地址 </param>
public static void export(System.Web.HttpResponse pa, System.Web.UI.WebControls.GridView gridview, string filename, string path)
{
System.Web.HttpResponse httpresponse = pa;
httpresponse.AppendHeader( "content-disposition ", "attachment;filename= " + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8)); //filename= "*.xls ";
httpresponse.ContentEncoding = System.Text.Encoding.GetEncoding( "gb2312 ");
httpresponse.ContentType = "application/ms-word ";
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
gridview.RenderControl(hw);
string filepath = path + filename;
System.IO.StreamWriter sw = System.IO.File.CreateText(filepath);
sw.Write(tw.ToString());
sw.Close();
downfile(httpresponse, filename, filepath);
httpresponse.End();
}
/// <summary>
/// 对该excel文件提供下载
/// </summary>
/// <param name= "response "> 页面HttpResponse输入 </param>
/// <param name= "filename "> 文件名 </param>
/// <param name= "fullpath "> 路径 </param>
/// <returns> bool类型,true下载成功-flase下载失败 </returns>
private static bool downfile(System.Web.HttpResponse response, string filename, string fullpath)
{
try
{
response.ContentType = "application/octet-stream ";
response.AppendHeader( "content-disposition ", "attachment;filename= " +
HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ";charset=gb2312 ");
System.IO.FileStream fs = System.IO.File.OpenRead(fullpath);
long flen = fs.Length;
int size = 102400;//每100k同时下载数据
byte[] readdata = new byte[size];//指定缓冲区的大小
if (size > flen) size = Convert.ToInt32(flen);
long fpos = 0;
bool isend = false;
while (!isend)
{
if ((fpos + size) > flen)
{
size = Convert.ToInt32(flen - fpos);
readdata = new byte[size];
isend = true;
}
fs.Read(readdata, 0, size);//读入一个压缩块
response.BinaryWrite(readdata);
fpos += size;
}
fs.Close();
System.IO.File.Delete(fullpath);
return true;
}
catch
{
return false;
}
}
}
}
这就是那个类了
我引用的时候,System.Web.HttpResponse pa,这个参数怎么传?还有,这个参数是做什么用的?
麻烦大家说详细点好不?谢谢
[解决办法]
System.Web.HttpResponse Response = System.Web.HttpContext.Current.Response;
[解决办法]
用这个啊..
using System.Net.HttpWebResponse
[解决办法]
System.Web.HttpContext.Current.Response