Я пытаюсь объединить несколько двоичных файлов, которые были разбиты во время загрузки. Требование вытекает из проекта http://asproxy.sourceforge.net/.. В этом проекте автор позволяет загружать файлы, предоставляя URL.
Проблема возникает из-за того, что моему серверу не хватает памяти для хранения файла размером более 20 мегабайт. Чтобы решить эту проблему, я изменил код, чтобы не загружать файлы размером более 10 мегабайт, если файл больше, то позволит пользователю загрузить первые 10 мегабайт. Затем пользователь должен продолжить загрузку и, надеюсь, получить вторые 10 мегабайт. Теперь у меня все это работает, за исключением случаев, когда пользователю нужно присоединиться к загруженным им файлам, и я получаю поврежденные файлы, насколько я могу судить, что что-то добавляется или удаляется через загрузку.
В настоящее время я объединяю файлы, читая все файлы и записывая их в один файл. Это должно работать, поскольку я читаю и пишу в байтах. Код, который я использовал для присоединения к файлам, указан здесь http://www.geekpedia.com/tutorial201_Splitting-and-joining-files-using-C.html
У меня нет точного кода при себе, как только я дома, я опубликую точный код, если кто-нибудь захочет помочь.
Пожалуйста, дайте мне знать, если я что-то упустил или есть лучший способ сделать это, т.е. что я мог бы использовать в качестве альтернативы потоку памяти. Исходный код исходного проекта, в который я внес изменения, можно найти здесь http://asproxy.sourceforge.net/download.html, следует отметить, что я использую версию 5.0. Файл, который я изменил, называется WebDataCore.cs, и я изменил строку 606 так, чтобы только до 10 мегабайт данных было загружено для продолжения выполнения.
Дайте мне знать, если я что-то пропустил.
Спасибо