base64 в файл .xlsx

  • Автор темы Автор темы gevolushn
  • Дата начала Дата начала

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Реакции
270
Баллы
63
Нужно скачивать файл (.xlsx) с почты gmail. Реализовал API, все дела. Но файл мне конечно же возвращает в виде base64.
C#:
Развернуть Свернуть Копировать
Byte[] bytes = Convert.FromBase64String(project.Variables["base"].Value);
File.WriteAllBytes(project.Variables["path"].Value, bytes);
Пробовал таким кодом записать, но мне пишет, что это не base64, хотя в документации gmail пишут обратное. Подскажите кто-то, а?
Или ткните носом, что это не base64
P.S. Знак = в конце пробовал ставить.
Код:
Развернуть Свернуть Копировать
В целях анона файл удален.
 
Последнее редактирование:
Да, тоже самое пишет мне, может не всё скопировал?
 
Все скопировал. Вот полный ответ.
Код:
Развернуть Свернуть Копировать
{
"size": 11691,
"data": "В целях анона файл удален."
}
 
Последнее редактирование:
это не base64

"В формате электронной почты MIME base64 — это схема, по которой произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Используются только символы латинского алфавита в верхнем и нижнем регистре — символы (A—Z, a—z), цифры (0—9), и символы «+» и «/», с символом «=» в качестве специального кода суффикса"

upd
Хотя я не прав
"Стандартом Base64-кодирования URL адресов признается вариант, когда символы + и / заменяются, соответственно, на - и _"
 
Последнее редактирование:
Вот такой код будет работать:
C#:
Развернуть Свернуть Копировать
string test = project.Variables["test"].Value.Replace("_", "/").Replace("-", "+");
Byte[] bytes = Convert.FromBase64String(test);
File.WriteAllBytes(project.Variables["path"].Value, bytes);
 
  • Спасибо
Реакции: ZX, gevolushn и doc
  • Спасибо
Реакции: Metrix

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)