none
アプリケーションに埋め込んだ画像ファイルを操作したい RRS feed

  • 質問

  • 画像ファイルをデータベースにアップロードするアプリを作成しております。

    開発環境は

    ・Windows7

    ・VisualStudio2010(・VisualStudio2013にも変更可能)

    です。

    通常はOpenFileDialogでユーザーにアップロードする画像ファイルを指定してもらい、

    byte[]に変換したものを保存する仕様なのですが

    今回はあらかじめ決まった画像ファイルを、アプリケーションにリソースとして埋め込み

    その画像ファイルをデータベースにアップさせたいと思っています。

    埋め込んだファイルの取得方法が分かりません。

    なんとか取得できないものでしょうか。

    2018年4月5日 9:25

すべての返信

  • 以下を参考にされてみてはいかがでしょうか。

    埋め込まれたリソースを参照
    https://social.msdn.microsoft.com/Forums/ja-JP/5d2ab5bb-6944-4155-9f9e-5093d1d8ee0f?forum=wpfja


    2018年4月5日 11:33
  • 個人的には、EXEやDLLに画像ファイルをリソースとして埋め込むのは、あくまでアイコンなどのUIに使うものに限定したほうがよいと思います。

    ダミーやテンプレートとして使うファイルは、アセンブリにリソースとして埋め込むのではなく、Visual Studioプロジェクトに含めたファイルのプロパティを設定する際に「ビルド アクション」を「コンテンツ」に、「出力ディレクトリにコピー」を「新しい場合はコピーする」に設定して、EXEやDLLのあるフォルダーに配置する手法のほうがよいと思います。

    コンテンツとして配置する方法は、アセンブリにリソースとして埋め込む手法と違い、ファイルの閲覧や変更が自由にできてしまいますが、それは逆にメリットにもなりえます。もしエンドユーザーにコンテンツファイルを閲覧・変更させたくないのであれば、簡単な対策として拡張子を適当に変更する、複雑な対策として暗号化する、などがあります。

    リソースとして埋め込むと、ファイルを差し替えてもVisual Studioによって変更が検出されず、差し替えるたびにビルドではなくリビルドが必要になることがあります。

    • 編集済み sygh 2018年4月5日 18:26
    2018年4月5日 18:19