Folder.GetDetailsOf返回错误的Item类型

时间:2012-10-09 09:48:42

标签: c# directory shell32

我正在使用Shell32库从.mp4文件中检索数据。

我在localhost上运行的代码,但是当我在IIS服务器上使用它时,它将文件作为“MP4文件”而不是“MP4视频”返回,这导致没有视频数据(宽度,高度,帧速率)等等。回来。

我读过我可以使用GetDetailsEx来获取正确的数据,但这种方法似乎不存在于Folder类中。

public static ExtendedFilePropertiesMp4 GetExtendedFileProperties(string directory, string fileName)
    {
        Dictionary<string, int> headers = new Dictionary<string,int>();

        Shell shell = new Shell();
        Folder folder;

        folder = shell.NameSpace(directory);

        for (int i = 0; i < short.MaxValue; i++)
        {
            string header = folder.GetDetailsOf(null, i);

            if (String.IsNullOrEmpty(header))
                break;

            if (!headers.ContainsKey(header))
                headers.Add(header, i);
        }

        FolderItems folderItems = folder.Items();

        foreach (FolderItem2 item in folder.Items())
        {
            if (folder.GetDetailsOf(item, 0) == fileName)
            {
                ExtendedFilePropertiesMp4 extendedFileProperties = new ExtendedFilePropertiesMp4();

                // Get data and set the properties of the extendFileProperties

                return extendedFileProperties;
            }
        }

        return null;
    }

Web.config中是否有设置或类似设置需要更改以使其正常工作?

编辑:我看到自己被投了票,这样做的人可以解释为什么吗?我想详细说明我的问题

1 个答案:

答案 0 :(得分:0)

我使用它的目的是更改其中包含视频标记的div标记的宽度和高度。

由于上述方法不起作用,我找到了另一种方法,即使用loadedmetadata。

有关详细信息,请参阅此答案: jQuery, checking to see if video has height/width