У меня есть немного ублюдка. У меня есть небольшая строка кода, которая преобразует строку base64 обратно в байт []. На моем компьютере разработки он работает без проблем, но при развертывании на нашем сервере приложений результирующий массив байтов всегда пуст, и я не могу понять, почему.
Я надеюсь, что некоторые из вас, гениев, могут знать ответ?
Здесь простая одна строка кода:
byte[] fileBytes = Convert.FromBase64String("SGVsbG8gV29ybGQhIQ==");
В некотором контексте приложение, из которого это происходит, является проектом веб-API asp.net core 2.1. ОС сервера приложений - Windows Server 2008 R2. У меня установлен пакет.net core 2.1.4 runtime/хостинг. Образец строки base64 был создан в приложении JavaScript и представляет собой текстовый файл, содержащий "Hello World !!".
Любая помощь приветствуется.
Хорошо, так получилось, что я был настоящим идиотом, lol. Я писал байт [] в журнале, который дал мне System.byte []. По какой-то причине я убедился, что это означает, что массив пуст. Чтобы поддержать мое заблуждение, я получал ошибку в строке, которая создает поток памяти из байта []. Сегодня утром, когда я наткнулся на него, я понял, что ошибка, которую я получаю, представляет собой исключение NullReferenceException, которое не имеет смысла для пустого массива.
Короче говоря, ошибка была не тем, чем я был, мои извинения за то, что тратили время.
По крайней мере, у меня есть новое начало, чтобы продолжить мою ошибку. Спасибо всем, кто пытался/хотел помочь!
string.Join(", ", fileBytes)
запишет содержимое массива. fileBytes == null
пустую строку, если массив пуст, и выдаст исключение, если fileBytes == null
(нет массива).