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などに設定を変更して機能させる必要がありますか?
編集:私は反対票を投じられたようですが、それを行った人々はその理由を説明できますか?私の問題について詳しく説明したい