将两个二进制文件连接成一个以供下载

时间:2014-02-21 18:17:47

标签: c# sql-server concat varbinary

我有一个sql server数据库,它将txt文件存储在varbinary列中。我有一个gridview控制器(C#),列出了存储的文件。我想要发生的是: 如果从gridview,app或数据库中选择了两个或更多文件(对我来说无关紧要) 将所有选定的文件内容连接到一个用户可以下载的文件中。

因此,如果文件1是包含单词“Hello”的文本文件而文件2是包含单词“world”的文本文件,则应用程序将从两者中读取内容并创建包含“Hello”的新测试文件世界“

欢迎所有建议。

2 个答案:

答案 0 :(得分:0)

您可以通过让查询为您连接数据并从中创建文件来实现此目的。

,例如,

从A_Table选择转换(varchar(1024),varbinaryA)+ convert(varchar(1024),varbinaryB)

答案 1 :(得分:0)

您的主题为“两个二进制文件”,但您提供的示例是“两个文本文件”。这是两件完全不同的事情。连接文本文件既简单又直接。你可以使用类似的东西:

string firstFile = System.IO.File.ReadAllText("myfile1.txt");
string secondFile = System.IO.File.ReadAllText("myfile2.txt");

然后将连接结果firstFile + " " + secondFile返回给用户。

但是,对于二进制文件,如果连接它们,它们将不再起作用。例如,firstFile.exe和secondFile.dll的串联对任何事情都没有用。如果您想为用户提供单个二进制文件下载,我建议将它们添加到一个压缩文件(例如Zip文件)中,并将该文件作为下载文件提供。然后,您的用户可以提取文件并使用它们。