Webサービスで画像転送-2
前回WebサービスでHTTP GETで画像を取得するコードを実装し、IEから取得できることを確認しました。
ではWebアプリ(C#)から画像を取得するコードを書いてみます。
.NET Framework4.5で使用できるHttpClientクラスを使うことにします。
URIは、VS.NET for Webのデバックモードなのでlocalhost:xxxxで接続しています。GET処理でHTTPのレスポンスオブジェクトを取得し、レスポンスがあった場合に処理をしています。繰り返しデータを取得するならばHttpResponseMessage response …の前にwhileループを記述してください。次にDynamicJsonを使ってjson形式のデータをパースしてbase64形式のデータを作成します。そのデータをデコードしてバイナリデータに変換します。データは8bitモノクロ画像だと予め分かっているのでWindows Bitmapオブジェクトを生成し、ヘッダ情報を整えてデータをセットします(Bitmap8クラスの説明は割愛)。最後にFormのPictureBoxにセットして画面表示しています。
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(“http://localhost:3683/”);
// アクセプト設定
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”));
// GET処理
HttpResponseMessage response = await client.GetAsync(“api/ImageTransfer”);
// レスポンスがあった場合
if (response.IsSuccessStatusCode) {
// データ取得
string content = response.Content.ReadAsStringAsync().Result;
// Json変換
dynamic JsonValues = DynamicJson.Parse(content);
byte[] data = null;
foreach (var value in JsonValues) {
string base64Data = (string)value.Base64Data;
data = Convert.FromBase64String(base64Data);
}
Bitmap8 bitmap8 = new Bitmap8();
bitmap8.width = IMAGE_LENGTH;
bitmap8.height = IMAGE_LENGTH;
Bitmap bitmap;
bitmap8.WriteBitmapData(data, out bitmap);
bitmap8 = null;
data = null;
if (_form._form1.pictureBox1.Image != null) {
_form._form1.pictureBox1.Image.Dispose();
}
_form._form1.pictureBox1.Image = bitmap;
} else {
;
}
// レスポンスクリア
response.Dispose();
このような感じで実装すればWebサービスから画像データを取得することができます。
またGETの特性としてデータ容量の問題があるのでPOSTも実装したいと思います。次回はPOSTのWEBサービス側をレポートします。
ArtParty大分出張編(後編)
Mendixご紹介セミナー開催のお知らせ
「Mendix App Platform」は、従来の高速開発ツールを超えて、ビジネスを変革する様々なアイデアを最新の情報技術を利用して実現できるデジタルイノベーションプラットフォームと言える製品です。
デモンストレーションを交えながら解りやすくご説明させていただく予定ですので、
この機会に是非ご参加くださいますようお願い申し上げます。
満員御礼につき、参加受付は締め切らせていただきました。
沢山のお申込み、まことにありがとうございました。
Mendixについてご説明をご希望の方は、当社までお問い合わせ下さい。
デジタルイノベーションプラットフォームMendixご紹介セミナー
【日程】2016年7月27日(水)
【時間】15時00分開場、15時30分開始 18時終了予定 (第1部~第2部)
【開催場所】ミヤケインダストリー 第一・第二会議室 【Map】
東京都新宿区愛住町6 電話 03-3355-5515
丸ノ内線 四谷三丁目駅2番出口徒歩1分/新宿線 曙橋駅A1出口 徒歩7分
【セミナープログラム】
【第1部】 15:30~16:45 (開場:15:00~) |
・ご挨拶・Mendixとは
・Mendixライセンスの考え方 ・当社の取り組み ・質疑応答 |
---|---|
【第2部】 17:00~18:00 (受付:16:30~ 開場:16:45~) |
・Mendix基本機能と活用デモ・Mendix7について
・質疑応答 |
申し込みにつきましては、メールフォームにて受け付けております。
参加ご希望の方は下記フォームにてお申し込みください。
申込みフォームはコチラ
定員を超えたため、受け付けは終了致しました
Mendixについてご説明をご希望の方は、当社までお問い合わせ下さい。
詳細は下記PDFパンフレットをご参照ください
Mendixご紹介セミナーご案内
データで見るビルドシステムを更新しました!
データで見るビルドシステムのページを更新しました。
詳しくはこちらをご覧ください。
ボルダリング部(スポーツクライミングの世界)
ずいぶん間を開けてしまいました…
ボルダリング部部長の細木です。
5月は久しぶりに部活動を行いました。
場所はいつものB-PUNP東京秋葉原。
数か月ぶりの部員もいて、皆さん体がなまっています。
ふくめん算を解いてみよう
こんにちは。ビルドシステムの平田です。
今回は皆さんに、パズルの世界に浸っていただこうと思います。
皆さんは「ふくめん算」というものをご存知ですか?
「虫くい算」と並んでその起源は1世紀以上も遡る、昔からある数学パズルです。
(さらに…)
<期間限定>Mendix無料サンプルアプリケーション作成サービスのお知らせ
Mendix App Platformの紹介記事が掲載されました!
Mendix App Platformの紹介記事が6月1日にキーマンズネット様に掲載されました。
-ビルドシステム、カスタムアプリの高速開発プラットフォーム提供
http://www.keyman.or.jp/nw/20067645/?vos=nkeyalca2013040101