1

我正在使用FineUploader將文件上傳到S3。同時利用刪除功能我得到以下錯誤:爲什麼我的無服務器Lambda函數拒絕Cache-Control頭?

XMLHttpRequest cannot load https://xxxxxxx.execute-api.us-east-1.amazonaws.com/prod/deleteS3File ?. Request header field Cache-Control is not allowed by Access-Control-Allow-Headers in preflight response.

拉姆達函數使用真棒無服務器架構具有以下配置創建:

functions: 
    deleteS3File: 
    handler: handler.deleteS3File 
    events: 
     - http: 
      path: deleteS3File 
      method: POST 
      integration: lambda 
      cors: true 
      response: 
      headers: 
       Access-Control-Allow-Origin: "*" 

任何想法,這是什麼錯誤lambda函數意味着以及如何解決它?

回答

2

您不支持的POST verb preflights an OPTIONS verb

因此,您需要爲OPTIONS創建一個方法,該方法將返回狀態代碼200(成功)和期望的標題。

對於選項和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" 

您可以微調頭後,讓你需要

+1

只是完善答案正是 - 我創建了一個無服務器的OPTIONS函數,它只返回指定的access-control-allow-headers。 – Tal

相關問題