У меня есть конечная точка, которая получает письма с .xlsx
файлами в качестве вложений. Я хочу сохранить этот файл в своем приложении, чтобы впоследствии получить доступ к данным.Запись действительного файла Excel
После получения письма и приложения к нему - которая имеет mime_type из application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- я называю
path = "data/emails/#{attachment.filename}"
File.write(path, attachment.body.decoded)
, но я получаю эту ошибку:
Encoding::UndefinedConversionError: "\x85" from ASCII-8BIT to UTF-8
Когда я использую добавить .force_encoding('utf-8')
для декодированного тела , он преуспевает, но файл, который он пишет, становится недействительным. Я не могу открыть его нормально и не получить доступ к его данным.
Как написать обычный файл Excel?
вам действительно нужно преобразовать формат, а не делать просто скопировать его в локальной файловой системе? –
Было бы здорово, если бы мне не нужно было его преобразовывать. Я просто хочу его сохранить - что печально не получается –