Я использую Aws Lambda
для обработки multipart-form
данных и извлечения вложений, а затем хочу загрузить эти вложения в Aws S3
.Здесь происходит повреждение файла.
Что я делаю, я извлекаю вложение file_string
в виде строки, а затем записываю его в файл в папке /tmp
.
File.open('/tmp/file_name', 'wb') do |f|
f << file_string
end
Я проверил содержимое файла и сравнил его с исходным файлом.Некоторые из символов в файле заменены символом замены.
�PNG
IHDRX�{�`)iCCPICC ProfileX��yTM�n��&sFr�Yr�9�ʒ3�$AAD��HDD�H ��
Но фактическое содержимое файла выглядит следующим образом.
?PNG
IHDRX?{?`)iCCPICC ProfileX??yTM?n??&sFr?Yr?9?ʒ3?$AAD??HDD?H ?
И это из лямбда-журнала наблюдения за облакомкоторый я использовал для проверки содержимого полученной строки на лямбде
�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0001-\u0000\u0000\u0001-\b\u0003\u0000\u0000\u0000j=��\u0000\u0000\u0002\u001cPLTE\u0000\u0000\u
Кто-нибудь может объяснить, что я делаю неправильно?
или это проблема с лямбда-окружением?