【问题标题】:Retrieve mp3 file from database从数据库中检索 mp3 文件
【发布时间】:2010-08-19 11:47:06
【问题描述】:

我有一个关于如何从数据库中检索存储为 byte[] 数组的 mp3 文件并以表格形式显示并让用户下载/播放的问题?

【问题讨论】:

标签: c# asp.net mp3


【解决方案1】:

嗯。这当然可以做到,但如果它是一个 RDBMS,你真的应该重新考虑解决方案。通常,数据库不是为使用大型二进制对象而设计或优化的,并且读取和写入数据远非最佳。

为什么不将文件存储在文件夹中并将文件名和文件夹名保存到数据库中?

【讨论】:

  • 同意,大型二进制对象在数据库中没有位置。
  • 如果是 SQL Server 版本 >2008,您可以利用文件流类型。
  • @Carles:是的,但仍然不是最佳版本。将文件存储在文件系统中还有一个优点,您可以使用 mp3 标签上的索引来让用户搜索它。
【解决方案2】:

要将字节数组保存为可下载的文件,您可以使用 FileStream。

byte[] array; //Loaded array of bytes.
using (FileStream fs = new FileStream(path))
{
    fs.Write(array, 0, array.length);
}

【讨论】:

  • 但是我应该在哪里显示链接以及我应该如何使用数据网格或其他任何东西显示它???我根本不知道该怎么做..
【解决方案3】:
【解决方案4】:

尝试使用 HttpHandler。 Here 是一个很好的创建教程。您只需将字节数组写入响应流并在您的应用程序中发布与此类似的链接。

http://myserver/myhttphandler.ashx?mp3File=x

【讨论】:

  • 可以使用简单的代码示例,否则答案是好的。
  • 这是最简单的部分。困难的部分是让它在浏览器中流式传输。图片是另一回事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多