Объединить два двоичных файла в один для загрузки

У меня есть база данных сервера SQL, которая хранит текстовые файлы в столбце varbinary. У меня есть контроллер gridview (C#), который перечисляет файлы, которые хранятся. Я хотел бы, чтобы это происходило так: если из вида сетки выбрано два или более файлов, приложение или база данных (для меня не имеет значения) объединят все содержимое выбранного файла в один файл, который пользователь может загрузить.

поэтому, если файл один представляет собой текстовый файл, содержащий слово "Hello", а файл два представляет собой текстовый файл, содержащий слово "world", приложение будет считывать содержимое из обоих файлов и создавать новый тестовый файл, содержащий "Hello World".

все предложения приветствуются.

2 ответа

Решение

Один из способов сделать это - запрос объединить данные для вас и создать файл из этого.

Такие как,

выберите convert(varchar(1024), varbinaryA) + convert(varchar(1024), varbinaryB) из таблицы A_Table

Ваша тема читает "два двоичных файла", но вы привели пример "два текстовых файла". Это две совершенно разные вещи. Конкатенация текстовых файлов проста и понятна. Вы можете использовать что-то вроде:

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

а затем вернуть объединенный результат firstFile + " " + secondFile пользователю.

Однако для двоичных файлов, если вы их объедините, они больше не будут работать. Например, объединение firstFile.exe и secondFile.dll бесполезно ни для чего. Если вы хотите предложить своим пользователям одну загрузку для двоичных файлов, я предлагаю добавить их в один сжатый файл (например, Zip-файл) и предложить этот файл для загрузки. Ваши пользователи могут затем извлечь файлы и использовать их.

Другие вопросы по тегам