我正在使用 Shell32 库从 .mp4 文件中检索数据。
我在本地主机上工作的代码,但是当我在 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 中是否有设置或类似设置需要更改才能正常工作?
编辑:我看到我被否决了,这样做的人可以解释为什么吗?我很想详细说明我的问题