Swift,如何从“元数据”字段中“从哪里获取图像?

问题描述 投票:0回答:1

我正在从macOS上的文件系统读取文件,我尝试使用以下代码提取元数据:

let imagedata = try? Data(contentsOf: fileUrl)

if imagedata == nil {
    print("Could not read contents of image")
    return
}

var source: CGImageSource = CGImageSourceCreateWithData((imagedata as! CFMutableData), nil)!
var metadata = CGImageSourceCopyPropertiesAtIndex(source, 0, nil) as? [AnyHashable: Any]

print("image metadata", metadata)

这是我得到的输出:

image metadata Optional([AnyHashable("ColorModel"): RGB, AnyHashable("DPIHeight"): 72, AnyHashable("PixelHeight"): 840, AnyHashable("ProfileName"): sRGB IEC61966-2.1, AnyHashable("PixelWidth"): 840, AnyHashable("{PNG}"): {
    Chromaticities =     (
        "0.3127",
        "0.329",
        "0.64",
        "0.33",
        "0.3",
        "0.6000000000000001",
        "0.15",
        "0.06"
    );
    Gamma = "0.45455";
    InterlaceType = 0;
    XPixelsPerMeter = 2834;
    YPixelsPerMeter = 2834;
    sRGBIntent = 0;
}, AnyHashable("DPIWidth"): 72, AnyHashable("Depth"): 8])

然后提取通常的元数据,但是我实际上想知道从哪里下载图像,当我将图像拖放到桌面上然后右键单击get info时,我看到了该字段:] >

enter image description here

有什么方法可以检索此字段?

编辑:我尝试过:

if let attr = try? FileManager.default.attributesOfItem(atPath: fileUrl.path) {
    print("attributes", attr)
}

现在我可以看到kMDItemWhereFroms字段,但是我不知道如何到达或解析它。也许有人在这里有个主意?

我正在从macOS上的文件系统读取文件,我尝试使用以下代码提取元数据:let imagedata = try?如果imagedata == nil {print(“无法...

swift macos png
1个回答
1
投票

我认为显示修补程序,查找数据的方式总是很高兴,所以我将展示如何获得数据,而我一点也不知道。

© www.soinside.com 2019 - 2024. All rights reserved.