6

ユーザーが自分のMP3を自分のサイトに投稿し、CDNに保存する前にファイルからメタデータを読み取りたいと思います。TagLib-Sharpはこれを行うためのライブラリのようですが、ディスクに保存したくないHttPostedFileを開いて、メタデータを取得する方法がわかりません。

taglib-sharpでこれを行う方法の例はありますか?

編集:IFileAbstractionはこれを解決できるようです。IFileAbstractionの使い方を知っている人はいますか?

4

1 に答える 1

5

次のようなことをしたいと思うでしょう。注意点は、蒸気がシーク可能でなければならないということです。シーク可能かどうかはわかりません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) { }
}
于 2012-01-16T21:18:48.507 に答える