ユーザーが自分のMP3を自分のサイトに投稿し、CDNに保存する前にファイルからメタデータを読み取りたいと思います。TagLib-Sharpはこれを行うためのライブラリのようですが、ディスクに保存したくないHttPostedFileを開いて、メタデータを取得する方法がわかりません。
taglib-sharpでこれを行う方法の例はありますか?
編集:IFileAbstractionはこれを解決できるようです。IFileAbstractionの使い方を知っている人はいますか?
ユーザーが自分のMP3を自分のサイトに投稿し、CDNに保存する前にファイルからメタデータを読み取りたいと思います。TagLib-Sharpはこれを行うためのライブラリのようですが、ディスクに保存したくないHttPostedFileを開いて、メタデータを取得する方法がわかりません。
taglib-sharpでこれを行う方法の例はありますか?
編集:IFileAbstractionはこれを解決できるようです。IFileAbstractionの使い方を知っている人はいますか?
次のようなことをしたいと思うでしょう。注意点は、蒸気がシーク可能でなければならないということです。シーク可能かどうかはわかりませんHttpPostedFile.InputStream
。
TagLib.File myFile = TagLib.File.Create(new HttpPostedFileAbstraction(postedFile));
public class HttpPostedFileAbstraction : TagLib.File.IFileAbstraction
{
private HttpPostedFile file;
public HttpPostedFileAbstraction(HttpPostedFile file)
{
this.file = file;
}
public string Name {
get { return file.FileName; }
}
public System.IO.Stream ReadStream {
get { return file.InputStream; }
}
public System.IO.Stream WriteStream {
get { throw new Exception("Cannot write to HttpPostedFile"); }
}
public void CloseStream (System.IO.Stream stream) { }
}