Объединить два двоичных файла в один для загрузки
У меня есть база данных сервера 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-файл) и предложить этот файл для загрузки. Ваши пользователи могут затем извлечь файлы и использовать их.