LightSwitch で画像ファイルをアップロードする簡単な方法 ~Desktop Client の力を借りる~

LightSwitch は “Image 型” にすることで簡単に画像ファイルを扱うことができます。

imageimage

HTML Client でも表示については事情は同じですが、画像ファイルのアップロードはデフォルトの機能としては持っていません orz
※Preview 2 での話。今後 RTM に向けて変わる可能性はあります。

HTML Client で画像ファイルのアップロードを実現する方法はチュートリアルの Contoso Moving で紹介されているので、同じ方法で実現可能です。が、「取りあえず簡単に済ませたい!」ということでしたら、Desktop Client (Silverlight クライアント) を使うという手もあります。

念のため、ステップバイステップでご紹介。
※多分 Preview 2 限定のハマりどころもあわせて紹介します。


1. Desktop Client を追加

ここまでの手順 で HTML Client で作っているようであれば、Desktop Client を追加します。

image

2. 画面の作成

要求に合わせて必要な画面を作りますが、今回のニーズでは “List and Details” でいいでしょう。

image

3. “Phone Number” 型の変数を一旦 “String” に変更し、改めて “Phone Number” 型にする (Preview 2 限定)

※Preview 2 でのハマりどころです。私はこれで1日無駄にしました orz

Preview 2 では、ここでの手順を踏まないと Phone Number 型の変数が常にバリデーションエラーを起こします。

image

Visual Studio が v3 形式のソリューションに変換する際に、Desktop Client の定義ファイル(.lsml)で必要な情報を一つ落としているようです。
これを解決するには、今のところは Phone Number 型の変数を一旦 “String” に変更し、改めて “Phone Number” に戻すという手順を踏むといいようです。

image

なお、この時、Phone Number Format がデフォルトに戻されてしまうので、改めて書式を設定し直す必要があります。

これで大丈夫。Desktop クライアントでも HTML クライアントでも電話番号のバリデーションを正しくできるようになります。
あわせて画像ファイルのアップロードは Desktop クライアントで、参照は Desktop でも HTML でも、とすれば、記事先頭のような写真入りのアプリケーションが簡単に完成します。

 


参考までに、Preview 2 で lsml ファイルを生成する際に落としている情報はここです。

image

「そりゃバリデーションに失敗するだろう」というのがひと目でわかります。フィードバックしなくちゃ。

広告
カテゴリー: LightSwitch タグ: パーマリンク

LightSwitch で画像ファイルをアップロードする簡単な方法 ~Desktop Client の力を借りる~ への2件のフィードバック

  1. ピンバック: LightSwitch HTML Client : Tile List / Details Screen に写真を表示(してちょっと格好よくする) « 技術との戯れ

  2. ピンバック: LightSwitch HTML Client で画像ファイルをアップロードする方法 « 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中