【发布时间】:2017-04-15 14:28:52
【问题描述】:
我正在构建一个 Windows C# Drive 应用程序,并希望显示少数文件夹的缩略图。
对于存在于驱动器中的文件,我知道你可以使用 IconLink 参数获取图标。
如何使用文件的 MimeType 来处理这个(尚不存在)的文件?
【问题讨论】:
标签: c# google-drive-api drive
我正在构建一个 Windows C# Drive 应用程序,并希望显示少数文件夹的缩略图。
对于存在于驱动器中的文件,我知道你可以使用 IconLink 参数获取图标。
如何使用文件的 MimeType 来处理这个(尚不存在)的文件?
【问题讨论】:
标签: c# google-drive-api drive
如果你有文件扩展名,你可以从注册表中得到它,例如:
HKEY_CLASSES_ROOT
.avi
在我的机器上,该键上的(Default) 值为VLC.avi。
现在找到具有该名称的密钥:
HKEY_CLASSES_ROOT
VLC.avi
你应该在那里找到一个名为DefaultIcon的子键,在我的例子中,它的(Default)值为"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe",0
从这里您应该能够从.exe 路径获取图标。
有时DefaultIcon 包含指向.dll 的路径,后跟索引。对于这些,您可以查看this SO question,了解有关如何提取图像本身的详细信息。
【讨论】:
您可能想试试Uploading thumbnails。如前所述,
对于云端硬盘无法呈现的快捷方式和其他文件类型,您可以提供由您的应用程序生成的缩略图。通过在插入或更新调用期间设置File resource 上的
contentHints.thumbnail属性来上传缩略图,如下所示:
- 将
contentHints.thumbnail.image设置为 URL 安全的 Base64 编码图像- 将
contentHints.thumbnail.mimeType设置为适合图像格式的类型如果云端硬盘无法生成缩略图,它会始终使用您提供的缩略图。
除此之外,请注意,每次文件内容更改时,缩略图都会失效。提供缩略图时,每次修改内容时上传新的缩略图很重要。
此外,请查看以下 SO 帖子中的建议解决方案,看看它是否对您有帮助:
【讨论】: