1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

埋め込んだファイルをStreamとして取り出す

Posted at

はじめに

.NETで一時的なHTTPサーバーを立ち上げて、index.htmlだけを返す必要がありました。
単一のexeで完結させたいので、下記2点を実現したいと考えています。

  • index.htmlをexeに埋め込む
  • 埋め込んだリソースをStreamとして取り出す

index.htmlをexeに埋め込む

index.htmlのプロパティを開き、ビルドアクションを埋め込みリソースとして設定します。
image.png

埋め込んだリソースをStreamとして取り出す

GetManifestResourceStreamを使うことで、Streamとして埋め込みリソースを取り出せます。
GetManifestResourceStreamの引数には、プロジェクト名.[フォルダ階層.]ファイル名を指定します。

Program.cs
var context = await http.GetContextAsync();

context.Response.ContentType = "text/html";

var assembly = Assembly.GetExecutingAssembly();
using (var file = assembly.GetManifestResourceStream("WindowsFormsApp1.index.html"))
{
    file.CopyTo(context.Response.OutputStream);
}
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?