HtmlAgilityPackに問題があります。ストリームからドキュメントをロードし、ドキュメントに対していかなる操作も行わずに保存します。ドキュメントには、、、が含まれていますheader
。ヘッダーとフッターの構造はまったく同じです。そして、オブジェクトを返します。コード:body
footer
Filecontentresult
HtmlDocument ndoc = new HtmlDocument();
ndoc.Load(stream); //load from stream
using (MemoryStream ms = new MemoryStream())
{
ndoc.Save(ms); //save back in stream
ms.Seek(0, System.IO.SeekOrigin.Begin);
fileBytes = ms.ToArray();
}
FileContentResult file = File(fileBytes, "text/html");
return file;
ブラウザでドキュメントを見ると、すべてがそこにありましたが、フッターが消えました。するとOptionOutputAsXml
、このフッターで使っていたものが来ましたが、フッターの中身はまだ消えていました。
次のコードを使用した場合。htmlagilitypackを削除するだけです。ストリームからFileContentResultを直接作成します。その後、すべてが完璧であり、独自の位置にあります。コード:
using (MemoryStream ms = new MemoryStream())
{
stream.CopyTo(ms); //copy stream contents in memorystream object
fileBytes = ms.ToArray();
}
FileContentResult file = File(fileBytes, "text/html");
return file;
誰かがHtmlAgilityPackの問題を教えてもらえますか?