我正在尝试在控制台应用程序中进行测试(基于Web应用程序中HttpHandler中的一些代码)。
鉴于以下之类的东西适用于传递给它的HttpContext的HttpHandler:
context.Response.AppendHeader("Content-Length", docContent.Length.ToString());
context.Response.AppendHeader("content-disposition", "attachment; filename=\"" + fileName + "\"");
context.Response.ContentType = MIMEType.MimeType(fileType);
context.Response.OutputStream.Write(docContent, 0, docContent.Length);
context.Response.OutputStream.Flush();
我有一部分,我想,然后我卡住了:
WebClient client = new WebClient ();
client.Headers.Add("Content-Length", docContent.Length.ToString());
client.Headers.Add("content-disposition", "attachment; filename=\"" + fileName + "\"");
string ContentType = MIMEType.MimeType(fileType);
// ??
// how to build the response as an output stream from my byte array which has the data ?
答案 0 :(得分:1)
MemoryStream(byte[])可以从Stream
创建byte[]
。
但问题是WebClient
仅用于发出HTTP 请求。如果您的目标是通过下载附件来测试服务器,那么您将需要不同的标头。
如果您确实要下载文件,请尝试使用WebClient.DownloadFile