我正在使用AWS API網關(APIG)和Lambda函數構建無服務器的網站。我必須使用代理集成,因爲後面的Lambda函數必須接收http請求標頭。同時,需要提供一些二進制數據。在我的情況下,favicon.ico文件。其他人可能想要爲動態創建的PDF或Excel文件提供服務。 APIG爲此目的提供二進制支持。使用base64對數據進行編碼並配置該MIME內容類型,以便在將其提供給客戶端之前將其解碼。但是,這不適用於代理集成。代理集成只是跳過集成響應部分。如何使用代理集成從AWS API網關提供二進制數據?
我試圖將favicon.ico的請求重定向到S3端點,但瀏覽器顯示奇怪的行爲。因爲ico文件來自不同的重定向域,而不是相同的域。
使用base64對其進行編碼並讓客戶端瀏覽器對其進行解碼並不是一種選擇,因爲這不是標準功能,可能無法在所有瀏覽器中使用。
我想我不能做任何事情,直到AWS爲此添加一個新功能。有沒有人看過這個問題?任何想法或建議?
我想在我的一個終端中返回一個PDF,我將它編碼爲base64,並將「isBase64Encoded」設置爲true。但是,我收回的PDF看起來好像不能正確解碼。如果我在文本編輯器中打開文件,手動解碼並保存,則可以查看PDF。任何想法爲什麼發生這種情況? – JPL
JPL,請檢查您的MIME設置是否支持二進制。 – gini09
自從我上一條評論以來,我已經爲所有類型*/*添加了二進制支持,它可以工作,但它會弄亂非二進制類型,比如JSON。如果我輸入應用程序/ pdf或甚至應用程序/ *,API網關不會識別這些,並且不會正確處理類型。我不確定格式是否有誤或者是否有其他設置。 – JPL