我正在使用FineUploader将文件上传到S3。在使用DELETE功能时,我收到以下错误:
XMLHttpRequest无法加载 https://xxxxxxx.execute-api.us-east-1.amazonaws.com/prod/deleteS3File? 请求标头字段不允许使用Cache-Control 预检响应中的Access-Control-Allow-Headers。
lambda函数是使用令人敬畏的无服务器框架创建的,具有以下配置:
functions:
deleteS3File:
handler: handler.deleteS3File
events:
- http:
path: deleteS3File
method: POST
integration: lambda
cors: true
response:
headers:
Access-Control-Allow-Origin: "*"
知道这个错误对Lambda函数意味着什么以及如何解决它?
答案 0 :(得分:2)
您不支持的POST verb preflights an OPTIONS verb。
因此,您需要为OPTIONS创建一个方法,该方法将返回状态代码200(成功)和预期的标题。
对于OPTIONS和POST,请尝试以下标题:
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: "GET, HEAD, OPTIONS, POST, PUT, DELETE"
Access-Control-Allow-Headers: "Access-Control-Allow-Headers, Cache-Control, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"
您可以稍后调整标题以满足您的需要