0

OpenDataKit (ODK) Aggregate をインストールし、MySQL データベースを使用しています。_PHOTO_BIN、_PHOTO_BN、および PHOTO_REF テーブル内のデータを確認できますが、このデータを読み取って画像を表示するにはどうすればよいですか? _PHOTO_BN テーブルには、.jpg ファイル名を含む UNROOTED_FILE_PATH という名前のフィールドがありますが、これを実際に使用して画像にアクセスできるかどうかはわかりません。

ありがとうございました。

4

1 に答える 1

0

この回答は、ODK Google グループサイトで提供されました。

画像にアクセスする最も簡単な方法は、添付ファイルにアクセスするための ODK Aggregate URL を使用することです。

データベース テーブルは、無制限のサイズの画像をデータベースに格納できるように構成されています。画像サイズが 1 MB 未満の場合は 1 つのデータ レコードに格納されますが、より大きな画像ファイル (またはより長いストリーミング ビデオ) がある場合、それらは複数の BLOB レコードに分割され、それらを再構築するロジックを記述するとエラーが発生します。傾向がある。

たとえば、opendatakit.appspot.com の GeoTagger フォームの ODK Aggregate URL は次のようになります: http://opendatakit.appspot.com/view/binaryData?blobKey=geo_tagger_v2%...

小さいサムネイルが必要な場合は、previewImage=true を指定します (上記のように)。

添付ファイルとしてダウンロードする (または元のファイル名にアクセスする) 場合は、as_attachment=true を指定することもできます。この場合、最初にアップロードされたファイル名が提供されます。

blobKey は画像を識別します。すべての URL と同様に、パラメーターは URL エンコードされているため、非常に見苦しくなります。URLDecoded blobKey は次のようになります。

geo_tagger_v2[@version=null and 
@uiVersion=null]/geotagger[@key=uuid:f6454ba6-2485-426f-8e1a-8981e463e6fe]/ Image

これは、Xform のイメージ要素の XPath スタイルの命名です。フォーム ID: get_tagger_v2、バージョンと uiVersion の値 (Xform の最上位要素の属性から)、フォームの最上位要素の名前 (geotagger)、参照されている送信の主キー ( uuid:f6454ba6-2485-426f-8e1a-8981e463e6fe) およびフォーム内の XPath をイメージに変換します。この場合、画像 (フィールド名 Image) は、フォームの最上位要素のすぐ下にあります。

繰り返しグループがある場合は、繰り返しグループの序数 (1..n) を指定する必要があります。したがって、最初の繰り返しグループでは、次のようになります。

.../repeatElement[@ordinal=1]/画像

5 回目の繰り返しでは、次のように指定します。

.../repeatElement[@ordinal=5]/画像

ミッチ

于 2012-01-31T15:21:07.003 に答える