2017-01-03 9 views
1

をベースに変換する際に使用するイメージのパスを取得、私は64文字列

enter image description here

をフォルダと私は、その後にそれを変換することができるようにImageオブジェクトにこのイメージを渡したい私の画像でイメージを持っていますベース64文字列。これはクライアントに渡され、img要素のsrcに挿入されます。

問題は、ディスクからイメージオブジェクトにイメージを取得する方法がわかりません。

Image img = Image.FromFile(@"..Images\no_image.jpg"); // doesn't work 

string image = Convert.ToBase64String(imageToByteArray(img)); 


public byte[] imageToByteArray(Image imageIn) 
    { 
     MemoryStream ms = new MemoryStream(); 
     imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); 
     return ms.ToArray(); 
    } 
+0

あなたは 'てみましたImage.FromFile(Server.MapPath( "/ Images/no_image.jpg")) '? – eitamal

+0

なぜそれを文字列として渡しますか?その写真。 – BugFinder

+0

'Server.MapPath("〜/ Images/no_image.jpg ")'を使ってみてください。また、「うまくいきません」とは決して有用な説明ではない。どのようなエラーが発生します。 –

答えて

4

あなたがWebプロジェクトで作業する場合は、あなたが使用する必要があります。

Image.FromFile(Server.MapPath("~/Images/no_image.jpg")) 

それはWinフォーム/ WPF /コンソールアプリケーション、使用している場合:

Image.FromFile(System.IO.Path.Combine(Environment.CurrentDirectory, "Images", "no_image.jpg")) 
+0

Serverのネームスペースとは何ですか?私はそれを認識するためにインテリセンスを得ることができません。 – user1186050

+1

サーバはコントローラ内のプロパティなので、コントローラアクションでは 'System.Web.HttpContext.Current.Server.MapPath'を使うことができるコントローラの外で' this.Server.MapPath'を使うことができます – SynerCoder

関連する問題