2015-10-07 2 views
0

У меня есть конечная точка, которая получает письма с .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?

+0

вам действительно нужно преобразовать формат, а не делать просто скопировать его в локальной файловой системе? –

+0

Было бы здорово, если бы мне не нужно было его преобразовывать. Я просто хочу его сохранить - что печально не получается –

ответ

Смежные вопросы