用户将他们的MP3发布到我的网站,我想在文件存储到CDN之前从文件中读取元数据。 TagLib-Sharp似乎是库,但我看不到任何打开HttPostedFile的方法,我不想将其保存到磁盘,并检索元数据。
任何人都有一个关于如何使用taglib-sharp执行此操作的示例?
编辑:似乎IFileAbstraction可以解决这个问题。有谁知道如何使用IFileAbstraction?
答案 0 :(得分: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) { }
}