GetContainerAttribute

返回指定容器字段的文件元数据。

格式 

GetContainerAttribute (字段;属性名称)

参数 

字段 - 用来返回容器数据的任意表达式。

属性名称 - 支持的属性的名称(如下所示)。

返回的数据类型 

文本、数值、日期、时间、时间戳、容器

原始版本 

13.0

说明 

某些属性可能不会返回结果。例如,照片的纬度和经度的值可能不可用,或由于元数据存储在音频文件外部导致某些类似专辑的音频元数据可能不可用。在某些情况中,组属性“all”中的某些个别属性可能不适用。

此外,当数据库托管于 Windows 或 Cloud 上并且通过 REST API 访问时,GetContainerAttribute 函数中的某些属性(如 photocreatedmodified all)可能返回无效的值。 

属性

属性

返回

返回的数据类型

常规

 

 

filename

插入到容器字段中的文件的名称。

文本

MD5

应用密码散列函数 MD5 会使文件插入到容器字段或被容器字段参考。

文本

storageType

用于在容器字段中存储数据的方法:“嵌入”、“外部(安全)”、“外部(开放)”、“文件参考”、“文本

文本

fileSize

插入到容器字段中的文件的大小(以字节为单位)。

数字

internalSize

数据库文件中容器字段所占用的空间量(以字节为单位)。

数字

externalSize

容器字段在外部存储的空间量(以字节为单位)。这为容器字段中参考文件的大小或所有文件的大小(为开放或安全存储设置)。

数字

externalFiles

与容器字段关联的外部文件列表(使用开放或安全存储或文件参考的文件)。

文本

 

 

 

图像

 

 

width

一个表示图像宽度(以像素为单位)的数值。

数字

height

一个表示图像高度(以像素为单位)的数值。

数字

dpiWidth

一个表示图像水平 DPI 的数值。

数字

dpiHeight

一个表示图像垂直 DPI 的数值。

数字

transparency

如果图像具有 Alpha 通道,则返回“1”;否则返回“0”。

数字

 

 

 

照片

 

 

 

注释  仅 JPEG 和 TIFF 文件会返回结果。

 

orientation

一个表示照片方向的数值:
1(正常)
2(水平翻转)
3(旋转 180 度)
4(垂直翻转)
5
(逆时针旋转 90 度并垂直翻转)
6(逆时针旋转 90 度)
7
(顺时针旋转 90 度并垂直翻转)
8(顺时针旋转 90 度)

注释  使用 FileMaker 客户端的较早版本插入的照片不会自动定向;对于此类照片,结果会附有“不适用”。例如,3 (旋转 180 度),不适用

文本

created

照片最早可用的时间戳。

时间戳

modified

照片最新可用的时间戳。如果从未修改照片,则会返回空字符串。

时间戳

latitude

照片所在位置的纬度。

文本

longitude

照片所在位置的经度。

文本

make

拍摄照片所使用的摄像头的制造商。

文本

model

拍摄照片所使用的摄像头型号。

文本

 

 

 

音频

 

 

 

注释  仅 MP3 和 M4A 文件会返回结果。

 

title

音频的标题。

文本

artist

音频演奏者的姓名。

文本

album

音频所属专辑的名称。

文本

year

音频的发行年份。

文本

track

音频的磁道数和计数。例如,如果磁道数不可用,为“3/12”或“3”。

文本

genre

音频的样式。

文本

composer

音频的作者。

文本

coverArt

专辑封面的图像。

容器

duration

音频的持续时间。例如,“0:03:16”。

时间

bitRate

音频中每秒使用的千字节数(以千字节每秒为单位)。

数字

 

 

 

Barcodes

 

 

barcodeText

条形码的内容。

文本

barcodeType

条形码的类型。

文本

 

 

 

Signatures

 

 

signed

插入签名时的时间戳。

时间戳

 

 

 

Groups

 

 

general

以上“常规”目录中列出的有关容器字段的属性。

文本

audio

以上“音频”目录中列出的有关容器字段的属性。

文本

image

以上“图像”目录中列出的有关容器字段的属性。

文本

photo

以上“照片”目录中列出的有关容器字段的属性。

文本

barcode

以上“条形码”目录中列出的有关容器字段的属性。

文本

signature

以上“签名”目录中列出的有关容器字段的属性。

文本

all

以上所有目录中列出的有关容器字段的属性。

文本

注释 

  • 不会将条形码和签名视为图像。
  • internalSize 可能比 fileSize 小很多(例如,为开放或安全存储设置的容器字段、文件参考或压缩的文件),或可能比 fileSize 大很多(例如,插件创建的容器字段)。
  • 使用属性 MD5,可以防止将重复的文件插入容器字段(与文件名称无关)。
  • 对于组属性 generalaudioimagephotoall,属性会以属性名称: 属性值的格式显示,每行一个属性。为了使属性位于一行上,某些属性的显示会有所不同:
    • externalFiles。仅显示外部文件数。
    • transparency。显示“1”(真) 或“0”(假)
    • coverArt。根据图像类型显示“png”或“jpg”。
    • bitRate。在数值后显示“kbps”。如果音频使用可变比特率,结果中会追加“(VBR)”。例如:比特率:247 kbps (VBR)。
    • year 日期信息会以年份后带括号的形式返回。例如:年份:2019 (2019/11/10)
  • 除最后一个返回值外,每个返回值都以回车结束。
  • 要将 FileMaker Pro 对容器数据进行分析的频率降至最低,请在字段的自动输入计算中使用 GetContainerAttribute,并取消选中“不替换字段的现有值 (如果有)”。在此情况下,GetContainerAttribute 将仅在指定的容器字段内容发生更改时进行更新。如果在计算字段定义中使用 GetContainerAttribute,那么计算可能会在每次当前记录发生更改时进行更新,从而导致定制化 App 的性能下降。

示例 1 

请注意,以下示例中的属性带有引号。

GetContainerAttribute(图像;"all") 返回:

[General]

Filename:IMG_003.JPG

Storage Type:嵌入

MD5:C35A3F668A1FB3F370969399A1FF04FE

File Size:1964978

Internal Size:1965064

External Size:0

External Files:0

 

[Image]

Width:1936

Height:2592

DPI Width:72

DPI Height:72

Transparency:0 (假)

 

[Photo]

Orientation:6 (逆时针旋转 90 度)

Created:2020/1/14 14:40:31

Modified:

Latitude:37.406167

Longitude: -121.983333

Make:Apple

Model: iPhone 11

示例 2 

GetContainerAttribute(产品;"barcode") 返回:

[Barcode]

Barcode Text:875720001107

Barcode Type:UPC-A

示例 3 

GetContainerAttribute(包;"signature") 返回:

[Signature]

Signed:2019/11/10 11:41:22