用户将他们的 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) { }
}