Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

イメージごとにダウンロード要求を送信する代わりに、Visual LANSA では BLOB をフィールドとして作業リストに入れることができます。

このように管理すると、BLOB データは Base 64 エンコーディングに変換され、JSON の一部として引き渡されます。これがクライアントに到着した時に、元のイメージに変換されます。

Visual LANSA では、このようなイメージは JavaScript のデータ・オブジェクトとして管理されます。このため LANSA での操作は簡素化されますが、大きなイメージを大量に扱う場合、メモリ使用の観点から比較的コストが高くなるため、この方法は推奨されません。ですが、この技法はサムネイルやその他小さいサイズのイメージにおいては、優れたソリューションです。

次のルーチンでは、1 度の要求で多くの BLOB イメージをクライアントに返すことができることが示されています。


Def_List Name(#employees) Fields(#xEmployeeIdentification #xEmployeeSurname #xEmployeeGivenNames #xEmployeeStreet #xEmployeeCity #xEmployeeState #xEmployeePostalCode #xEmployeeHomeTelephone #xEmployeeBusinessTelephone #XDepartmentCode #xEmployeeSalary #xEmployeeStartDate #xEmployeeTerminationDate #xEmployeeImageThumbnail) Type(*working) Entrys(*Max)

...


SrvRoutine Name(GetEmployees) Response(*JSON)

...

    List_Map For(*Output) List(#Employees)

...


* 全社員データ取得

...

    Select Fields(#employees) From_File(xEmployee)

...

  

* BLOB として格納された社員のサムネイル画像取得
Fetch Fields(#xEmployeeImageThumbnail) From_File(xEmployeeImages) With_Key(#xEmployeeIdentification)

...


Add_Entry To_List(#Employees)

  Endselect

...


Endselect

Endroutine