如何正确执行无服务器二进制配置

时间:2019-01-22 23:01:13

标签: serverless-framework

我从this example开始。

...以this failing code结尾。

我想返回一个简单的pdf文件。

我发现SLS不能转换为二进制。

这是serverless.yml文件。

functions:
  hello:
    handler: handler.hello
    description: Can we display a PDF?
    events:
      - http:
          path: hello
          method: get
          contentHandling: CONVERT_TO_BINARY

plugins:
  - serverless-apigw-binary
  - serverless-apigwy-binary

custom:
  apigwBinary:
    types:
      - 'application/pdf'

这是处理程序

'use strict';

var fs = require('fs');

module.exports.hello = (event, context, callback) => {
    fs.readFile("templates/i-130.pdf", function (err, data) {
        callback(null, {
            statusCode: 200,
            headers: {'Content-Type': 'application/pdf'},
            body: JSON.stringify({
                message: data.toString('base64')
            })
        });
    });
};

我看到的问题是:

  • 内容未转换为二进制
  • 标头未设置为application / pdf

如何解决?

并且为了他人,您是否可以修复代码使其正常工作?

0 个答案:

没有答案