离开using语句后写入流的信息(html)

时间:2014-07-15 14:50:50

标签: c# asp.net streamwriter

我正在尝试将内容写入Response输出流。

这个想法是用户点击链接并提示将文件保存到他们的机器上。

提示用户并且信息写入成功,但附加到文件末尾的是启动事件的页面的呈现html。为什么html会被附加到我的封闭流中?

首先我抓住了我的流,这发生在链接的点击事件中:

Response.ClearContent();
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + exportType + ".txt\"");
Response.BufferOutput = true;
using (var stream = Response.OutputStream)
{
    ExportService.ExportPurchaseOrder(exportType, stream, PoList);
}

我将流传递了一下(var名称变为outputStream),但最终写得像这样:

using (var output = new StreamWriter(outputStream))
{
    var lineLength = positions.Last().Start + positions.Last().Length;
    var line = new StringBuilder(lineLength);
    foreach (var field in positions)
    {
        line.Insert(field.Start, FormatFixedValue(field, data));
    }
    output.WriteLine(line.ToString());
    output.Flush();
}

我还有什么理由看到这样的输出?

L20110              5001638088169                                      00000000008000000720000                         EACH 
L20110              6001638088152                                      00000000008000001020000                         EACH


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"> <head><title>

...

0 个答案:

没有答案