我創建了一個 Azure 函式,它將用戶資料寫入 pdf 的特定欄位,并將該 pdf 作為對客戶端的回應回傳。但是,我總是收到 500 錯誤代碼,即使直到最后一步的所有步驟似乎都可以正常作業,并且它也可以在本地運行而沒有問題。
這是我的init.py:
import logging
import azure.functions as func
from PyPDF2 import PdfFileReader, PdfFileWriter
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('----- Python HTTP trigger function processed a request. -----')
BLOB_NAME = 'sheet.pdf'
reader = PdfFileReader(BLOB_NAME)
writer = PdfFileWriter()
page = reader.pages[0]
writer.addPage(page)
sheetData = {}
sheetData["Full Name"] = "Name"
writer.updatePageFormFieldValues(writer.getPage(0), sheetData)
return func.HttpResponse(writer, mimetype="application/pdf")
我可以回傳類似的東西,str(writer.getPage(0))而不是writer所以我假設我的 requirements.txt 作業正常。只有在回傳沒有字串型別主體的 HttpResponse 時才會失敗。我認為添加正確的 mime 型別可以解決問題,但它回傳相同的狀態代碼。在這一點上我有點不知所措。
uj5u.com熱心網友回復:
嘗試創建一個位元組物件來回傳:
import io
pdf_bytes = io.BytesIO()
writer.write(pdf_bytes)
pdf_bytes.seek(0)
return func.HttpResponse(bdf_bytes.read(), mimetype="application/pdf")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/487270.html
上一篇:從sas令牌下載檔案
