【问题标题】:Get Drive icon by mime type按 mime 类型获取 Drive 图标
【发布时间】:2017-04-15 14:28:52
【问题描述】:

我正在构建一个 Windows C# Drive 应用程序,并希望显示少数文件夹的缩略图。

对于存在于驱动器中的文件,我知道你可以使用 IconLink 参数获取图标。

如何使用文件的 MimeType 来处理这个(尚不存在)的文件?

【问题讨论】:

    标签: c# google-drive-api drive


    【解决方案1】:

    如果你有文件扩展名,你可以从注册表中得到它,例如:

    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,了解有关如何提取图像本身的详细信息。

    【讨论】:

      【解决方案2】:

      您可能想试试Uploading thumbnails。如前所述,

      对于云端硬盘无法呈现的快捷方式和其他文件类型,您可以提供由您的应用程序生成的缩略图。通过在插入或更新调用期间设置File resource 上的contentHints.thumbnail 属性来上传缩略图,如下所示:

      • contentHints.thumbnail.image 设置为 URL 安全的 Base64 编码图像
      • contentHints.thumbnail.mimeType 设置为适合图像格式的类型

      如果云端硬盘无法生成缩略图,它会始终使用您提供的缩略图。

      除此之外,请注意,每次文件内容更改时,缩略图都会失效。提供缩略图时,每次修改内容时上传新的缩略图很重要。

      此外,请查看以下 SO 帖子中的建议解决方案,看看它是否对您有帮助:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-04
        • 2012-12-07
        • 1970-01-01
        • 2014-04-16
        • 2016-06-07
        • 1970-01-01
        相关资源
        最近更新 更多