2016-10-26 8 views
0

アップロードした画像をプロジェクトリソースフォルダに保存する方法を作成しました。イメージは自分のリソースフォルダに正しく追加されますが、ビルドアクションを設定できないためイメージを使用できません。どこのフォルダにアップロードした画像を保存できますか?私はbinディレクトリについて読んだが、この良い習慣は?プロジェクトリソースフォルダランタイムに画像を追加する

リソースは、私のプロジェクトの下のフォルダです。下のスクリーンショットでわかるように、アップロードした画像(beats_1.jpg)のビルドアクションを設定することはできません。

enter image description here

コード画像

var path = string.Format(@"{0}\Resources\Images\{1}", Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName, GiftImageFileName); 
var resizedImage = GiftImage.CreateResizedImage(100, 100, 0); 
var encoder = new PngBitmapEncoder(); 
encoder.Frames.Add(BitmapFrame.Create(resizedImage)); 
using (FileStream stream = new FileStream(path, FileMode.Create)) 
{ 
    encoder.Save(stream); 
} 

答えて

0

OKを保存するので、私は、あなたが構築する前にこのプロセスを実行することを推測しているので、あなたのファイルは以下のようにコンパイル出力に含まれていますコンパイルされた実行可能ファイルで参照することができます。

これには2つのアプローチがあります.1つは速く汚れていますが、もう1つはより複雑で正しいものです。

クイックや汚れ:(Visual Studioのソリューションがロードされていないときにこれが実行する必要があります)

  • プロジェクトを開くCSPROJファイル(例えばXDOCを使用して)あなたのC#コードでのXMLの修正ライブラリを経由して。

  • は、プログラム、プロジェクト

  • がコンパイル<Project>セクション

    <ItemGroup> 
        <Resource Include="Resources\Images\beats_1.png" /> 
        <Resource Include="Resources\Images\beats_2.png" /> 
        <Resource Include="Resources\Images\beats_n.png" /> 
        </ItemGroup> 
    
    • 保存CSPROJファイルの下に以下を追加し

より複雑かつ正しい: - 使用VSPackageビジュアルスタジオアドインでカールを変更するプロジェクトを貸し出し、新しいリソース項目を追加します。 - How do I programmatically add a file to a Solution?

+0

WPFでコンバータからプロジェクト項目にアクセスするにはどうすればよいですか? – Sybren