gpt4 book ai didi

plugins - 关闭 QuickLook 时如何删除生成的临时文件?

转载 作者:行者123 更新时间:2023-12-04 05:05:04 24 4
gpt4 key购买 nike

我正在编写一个 Quick Look 插件,它可以为 ogg 等一些音频文件生成预览。和 flac通过使用 ffmpeg 将它们转换为 AIFF然后返回一个带有 <video> 的简约网页引用转换后的 AIFF 文件的标记。

一切运行良好,除了我需要在临时文件夹中创建那些临时 AIFF 文件。我一直在寻找一种在用户关闭“快速查看”窗口以删除我的 AIFF 文件时获得回调的方法,但我找不到。

有没有什么好方法可以删除我的 Quick Look 插件生成的那些临时文件?

最佳答案

我只是花了一点时间尝试自己解决这个类似的问题,试图创建一个插件来读取各种不受支持的图像格式。据我所知,当 View 关闭时,您无法真正得到回调告诉您,因为您将数据交给 Quick Look,因此您以后无法真正删除它们。如果可能,尝试将其转换为 NSData 对象,然后在 HTML 中对其进行编码。该示例可用作 Dynamically Generating Previews > Generating Enriched HTML .对于您的情况,您只需要替换该部分:

[html appendString:@"<img src=\"cid:tabs.png\"><br>"];

用你的标签。 cid: URL 是访问临时数据的重要调用。在你的情况下,它会是这样的:
[html appendString:@"<audio src=\"cid:converted.aiff\" controls autoplay><br>"];

然后设置:
NSMutableDictionary *audioProps = [[NSMutableDictionary alloc] init];
[audioProps setObject:@"audio/aiff" forKey:(NSString *)kQLPreviewPropertyMIMETypeKey];
[audioProps setObject:audioData forKey:(NSString *)kQLPreviewPropertyAttachmentDataKey];
[props setObject:[NSDictionary dictionaryWithObject:audioProps forKey:@"converted.aiff"] forKey:(NSString *)kQLPreviewPropertyAttachmentsKey];

其中 props 是主要的属性引用,audioData 是代表你的 aiff 文件的 NSData,等等。如果你在 tmp 中有来自其他处理的数据,一旦你使用 NSData 将数据加载到内存中,你应该删除 tmp 文件(见 NSData dataWithContentsOfFile: )。

关于plugins - 关闭 QuickLook 时如何删除生成的临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com