相关疑难解决方法(0)

AWS Api Gateway 作为 HTTP 代理正在破坏二进制上传的图像文件

我有一个 ruby​​ on rails 应用程序,它接收一个图像文件,“将它附加到一个成员”,然后将它上传到 s3。当我使用 insomnia 和 POST 直接到应用程序时......它可以工作,但是当我在 AWS Api Gateway 后面使用完全相同的端点时,图像已损坏且无法查看。


这是请求的比较。

  • LEFT = 直接发布到 rails 应用程序
  • RIGHT = 通过 api 网关

https://www.diffchecker.com/wwUmpB5W

我注意到的是,回形针 gem 正在运行不同的命令。很明显,回形针在通过 API 网关时意识到文件不是图像。


以下是一些可能相关的屏幕截图

方法执行 整合请求 api网关设置


这是导轨代码:

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
Run Code Online (Sandbox Code Playgroud)

paperclip amazon-web-services aws-api-gateway api-gateway

6
推荐指数
1
解决办法
3045
查看次数