Webサービスで画像転送
C/C++でTCP通信で画像を転送する話がプロジェクトでありましたのでWebサービスで実装できないか試してみました。
環境として手早く揃いそうなもので、Web APIでIISを使い、C#でコーディングする。Getメソッドで、json形式でデータをやり取りすることにしました。
VS2013 for Desktopしかインストールしていないのでfor Webをインストール。
MVC4のフレームワークで、MVCのM=ModelとC=Controllerのみ実装と決めました。
ControllerはApiControllerを継承して下記のように実装
public IEnumerable<ImageData> Get()
{
IList<ImageData> imageDataList = ImageData.GetImageData();
return imageDataList;
}
Modelは下記のように実装(一部割愛)
public class ImageData
{
public string Base64Data { get; set; }
public static IList<ImageData> GetImageData() {
ImageGetAccess imageGetAccess = new ImageGetAccess();
List<ImageData> imageDataList = new List<ImageData>();
imageDataList.Add(new ImageData {
Base64Data = Convert.ToBase64String(imageGetAccess.GetImage())
});
return imageDataList;
}
}
以下VS2013デバック実行でのテスト(成功)画像を添付します。
HomeControllerだけ雛形からコードを残しておいて動作するのかをチェック。(ここだけ簡単なViewを実装しています。)
実装したImageTransferControllerを実行した様子。下部ダイアログのようにjson形式でデータが拾えている。
json形式のデータをVS2013で表示。これで問題なしか? 次回は、webアプリ側の実装をレポートします。