Первый файл заполнен только 0.Второй файл не в формате JPEG, но, кажется, является результатом какого-то преобразования (в нем есть некоторые данные фотографии).Не должно быть проблем с загрузкой при нормальных обстоятельствах.Если вы предоставите подробности о том, как вы их загрузили (код или инструмент), мы можем перейти оттуда.
Обновление
Ваш код для получения данных для загрузки, вероятно, не будет работать.Я не знаю подробностей о ваших утилитах, но когда вы делаете
FileUtils.getInputSize(is)
, он, вероятно, читает весь поток, так что вы заканчиваете его в конце и ничего не читаете для загрузки.Я настоятельно рекомендую вам использовать Apache Commons IO для чтения данных.И вы можете получить его размер после чтения в память.
Обновление 2
Вы используете преобразование байтов в строки.Из String(byte[])
документации
Constructs a new String by decoding the specified array of bytes using
кодировка платформы по умолчанию.
Поскольку вы используете двоичные данные, они преобразуются.Это на самом деле также видно из вашего второго файла, который начинается с ef bf bd
, который является символом замены Unicode.Поэтому воздержитесь от использования строки для хранения двоичных данных.