LoginSignup
2
1

More than 3 years have passed since last update.

OutSystemsでファイルをアップロードする

Posted at

OutSystemsでファイルをアップロードする方法です。
対象はTraditional Webです。
OutSystems UI Web(OutSystems Version11向けUI Framework)の説明ですが、SilkUI版でも同じようにできるはず。

環境

Personal Environment(Version 11.0.606.0)
Service Studio(Version 11.6.2)
OutSystemsUIWeb(Version 1.7.7)

利用方法

FileUpload Widgetの参照を追加する

Service StudioからManage Dependenciesダイアログを開き、ProducerとしてOutSystemsUIWeb、elementsとしてFileUploadを選択してAPPLYボタンをクリック。

qiita_fileupload1.png

Widgetを配置

Traditional WebモジュールにScreenを用意しておきます。
画面左側のToolbox上でFile Uploadで検索して、見つかったWidgetをScreen上にドラッグ&ドロップして配置。

qiita_fileupload2.png

配置したFIleUpload Widgetには、UploadWidgetというPlaceholderがあり、ここにOutSystemsに組み込みの別のWidget 「Upload」を配置します。現在のFileUploadはScreenに配置した時点で自動的にUploadも配置されるようです(以前は自分で別途配置する必要があった)。

なお、ファイルをアップロードするためには、サーバに通信を発生させるボタン等のMethodをSubmitにしなければなりません。

また、Upload Widgetだけでもファイルアップロードの機能は実現できます。その場合は、クリックするとファイル選択ダイアログが開くHTMLのボタンのみが表示されます。見た目やドラッグ&ドロップ対応から、通常はFileUploadを使えばいいと思います。

アップロードしたファイルの利用方法

Method=SubmitにしたボタンのScreen Action内で、Widgetを経由してファイル名やバイナリにアクセスできます。下の画像はデバッガでアップロードされたファイルの中身をみたところ。

qiita_fileupload3.png

FilenameはText型、ContentはBinary Data型です。

アップロードするファイルの種類を指定する

Upload WidgetにはExtended Propertiesというプロパティがあります。
OutSystemsにおいてこの名前のプロパティは、WidgetがHTMLのタグとして出力されるときに付与される属性の指定に使われます。

PNGまたはJPEG画像を指定するように指定した例:
qiita_fileupload5.png

この指定をしたときのタグ:accept="image/png, image/jpeg"

ファイル選択ダイアログは初期時点で以下のように画像を指定するオプションが選択されます。
qiita_fileupload4.png

Reactive Web Appの場合

Readtive Web Appの場合は、OutSystemsUI(Webとつかないほうです)のWidgetsカテゴリのUploadを使います。

これは参照を追加しなくても使えます。
基本的な使い方は同じで、Widget配置時に、File Content(ファイルの中身)とFile NameにLocal Variableを紐づけることが相違点ですね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1