AWS Api Gateway como proxy HTTP está corrompiendo los archivos de imagen cargados binarios
Tengo una aplicación de ruby on rails que toma un archivo de imagen, "lo adjunta a un miembro" y lo carga en s3. Cuando uso insomnio y POST directamente a la aplicación ...funcion, sin embargo, cuando uso exactamente el mismo punto final detrás de AWS Api Gateway, la imagen está dañada y no se puede ver.
Aquí está la comparación de las solicitudes.
LEFT = publicado directamente en la aplicación railsRIGHT = a través de la puerta de enlace apihttps: //www.diffchecker.com/wwUmpB5
Algo que noté, es que la gema de clip está ejecutando diferentes comandos. Es evidente que paperclip se dio cuenta de que el archivo no es una imagen cuando se pasa a través de la puerta de enlace API.
Aquí hay algunas capturas de pantalla potencialmente relevantes
Aquí está el código de rieles:
def create
logger.info 'upload_attachment_api_general_v1'
logger.info params
logger.info request.env
@file = current_merchant.members.find(params[:member_id]).attachments.new(file: params[:file], label: params[:label])
if params[:file] && @file.save
render json: @file
else
render json: @file.errors, status: :unprocessable_entity
end
end