Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库检索mp3文件_C#_Asp.net_Mp3 - Fatal编程技术网

C# 从数据库检索mp3文件

C# 从数据库检索mp3文件,c#,asp.net,mp3,C#,Asp.net,Mp3,我有一个问题,关于如何从数据库中检索存储为byte[]数组的mp3文件,并以某种形式显示它,然后让用户下载/播放它?嗯。这当然可以做到,但如果它是RDBMS,你真的应该重新考虑解决方案。通常,数据库的设计或优化都不是为了使用大型二进制对象,读写数据也远远不是最优的 为什么不将文件存储在文件夹中并将文件名和文件夹名保存到数据库中?尝试使用HttpHandler。这是一个很好的创建一个教程。您只需将字节数组写入响应流,并在应用程序中发布类似于此的链接 http://myserver/myhttpha

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

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


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

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

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

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

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

同意,大型二进制对象在数据库中没有位置。如果是SQL Server版本>2008,则可以利用filestream类型。@Carles:是,但仍然不是最佳版本。将文件存储在文件系统中还有一个优点,即您可以使用mp3标签上的索引来让用户搜索它。可以使用简单的代码示例,否则答案是好的。这是简单的部分。困难的部分是让它在浏览器中流式传输。图像是一个不同的故事。不是C#,但请看,我应该在哪里显示链接,以及如何使用数据网格或其他任何东西显示链接???我一点也不知道该怎么办。。