我创建了一个 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 类型可以解决问题,但它返回相同的状态代码。在这一点上我有点不知所措。
尝试创建一个字节对象来返回:
import io
pdf_bytes = io.BytesIO()
writer.write(pdf_bytes)
pdf_bytes.seek(0)
return func.HttpResponse(bdf_bytes.read(), mimetype="application/pdf")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句