GetContainerAttribute
返回指定容器字段的文件元数据。
格式
GetContainerAttribute (字段;属性名称)
参数
字段
- 用来返回容器数据的任意表达式。
属性名称
- 支持的属性的名称(如下所示)。
返回的数据类型
文本、数值、日期、时间、时间戳、容器
原始版本
13.0
说明
某些属性可能不会返回结果。例如,照片的纬度和经度的值可能不可用,或由于元数据存储在音频文件外部导致某些类似专辑的音频元数据可能不可用。在某些情况中,组属性“all
”中的某些个别属性可能不适用。
此外,当数据库托管于 Windows 或 Cloud 上并且通过 REST API 访问时,GetContainerAttribute 函数中的某些属性(如 photo
、created
、modified
和 all
)可能返回无效的值。
属性
属性 |
返回 |
返回的数据类型 |
General |
|
|
|
插入到容器字段中的文件的名称。 |
文本 |
|
应用密码散列函数 MD5 会使文件插入到容器字段或被容器字段参考。 |
文本 |
|
用于在容器字段中存储数据的方法:嵌入、外部(安全)、外部(开放)、文件参考、文本。 |
文本 |
|
插入到容器字段中的文件的大小(以字节为单位)。 |
数字 |
|
数据库文件中容器字段所占用的空间量(以字节为单位)。 |
数字 |
|
容器字段在外部存储的空间量(以字节为单位)。这为容器字段中参考文件的大小或所有文件的大小(为开放或安全存储设置)。 |
数字 |
|
与容器字段关联的外部文件列表(使用开放或安全存储或文件参考的文件)。 |
文本 |
|
|
|
Images |
|
|
|
一个表示图像宽度(以像素为单位)的数值。 |
数字 |
|
一个表示图像高度(以像素为单位)的数值。 |
数字 |
|
一个表示图像水平 DPI 的数值。 |
数字 |
|
一个表示图像垂直 DPI 的数值。 |
数字 |
|
如果图像具有 Alpha 通道,则返回“1”;否则返回“0”。 |
数字 |
|
|
|
Photos |
|
|
|
注释 仅 HEIC、JPEG 和 TIFF 文件会返回结果。 |
|
|
一个表示照片方向的数值: 注释 使用 FileMaker 客户端的较早版本插入的照片不会自动定向;对于此类照片,结果会附有“不适用”。例如,3 (旋转 180 度),不适用。 |
文本 |
|
照片最早可用的时间戳。 |
时间戳 |
|
照片最新可用的时间戳。如果从未修改照片,则会返回空字符串。 |
时间戳 |
|
照片所在位置的纬度。 |
文本 |
|
照片所在位置的经度。 |
文本 |
|
拍摄照片所使用的摄像头的制造商。 |
文本 |
|
拍摄照片所使用的摄像头型号。 |
文本 |
|
|
|
Audio |
|
|
|
注释 仅 MP3 和 M4A 文件会返回结果。 |
|
|
音频的标题。 |
文本 |
|
音频演奏者的姓名。 |
文本 |
|
音频所属专辑的名称。 |
文本 |
|
音频的发行年份。 |
文本 |
|
音频的磁道数和计数。例如,如果磁道数不可用,为“3/12”或“3”。 |
文本 |
|
音频的样式。 |
文本 |
|
音频的作者。 |
文本 |
|
专辑封面的图像。 |
容器 |
|
音频的持续时间。例如,“0:03:16”。 |
时间 |
|
音频中每秒使用的千字节数(以千字节每秒为单位)。 |
数字 |
|
|
|
Barcodes |
|
|
|
条形码的内容。 |
文本 |
|
条形码的类型。 |
文本 |
|
|
|
Signatures |
|
|
|
插入签名时的时间戳。 |
时间戳 |
|
|
|
Groups |
|
|
|
以上“General”目录中列出的有关容器字段的属性。 |
文本 |
|
以上“Audio”目录中列出的有关容器字段的属性。 |
文本 |
|
以上“Images”目录中列出的有关容器字段的属性。 |
文本 |
|
以上“Photos”目录中列出的有关容器字段的属性。 |
文本 |
|
以上“Barcodes”目录中列出的有关容器字段的属性。 |
文本 |
|
以上“Signatures”目录中列出的有关容器字段的属性。 |
文本 |
|
以上所有目录中列出的有关容器字段的属性。 |
文本 |
注释
- 不会将条形码和签名视为图像。
internalSize
可能比fileSize
小很多(例如,为开放或安全存储设置的容器字段、文件参考或压缩的文件),或可能比fileSize
大很多(例如,插件创建的容器字段)。- 使用属性
MD5
,可以防止将重复的文件插入容器字段(与文件名称无关)。 - 对于组属性
general
、audio
、image
、photo
和all
,属性会以属性名称: 属性值
的格式显示,每行一个属性。为了使属性位于一行上,某些属性的显示会有所不同:externalFiles
。仅显示外部文件数。transparency
。显示“1”(真) 或“0”(假)。coverArt
。根据图像类型显示“png”或“jpg”。bitRate
。在数值后显示“kbps”。如果音频使用可变比特率,结果中会追加“(VBR)”。例如:Bit Rate: 247 kbps (VBR)。year
。日期信息会以年份后带括号的形式返回。例如:Year: 2019 (2019/11/10)。
- 除最后一个返回值外,每个返回值都以回车结束。
- 要将 FileMaker Pro 对容器数据进行分析的频率降至最低,请在字段的自动输入计算中使用 GetContainerAttribute,并取消选中“不替换字段的现有值 (如果有)”。在此情况下,GetContainerAttribute 将仅在指定的容器字段内容发生更改时进行更新。如果在计算字段定义中使用 GetContainerAttribute,那么计算可能会在每次当前记录发生更改时进行更新,从而导致定制化 App 的性能下降。
示例 1
请注意,以下示例中的属性带有引号。
GetContainerAttribute(图像;
"all
")
返回:
[General]
Filename: IMG_003.JPG
Storage Type: Embedded
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 (False)
[Photo]
Orientation: 6 (Rotated 90 degrees counterclockwise)
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