python – Google App Engine转换API因BackendError而失败

我想将html转换为pdf.

如果我不包含任何图像,转换工作正常,但如果我包含图像,它将失败,错误代码3和描述BackendError.

我在我的html资产中引用了包含为static / thumb.jpg的图像资源.

def prepare_bar_attachment(bars):
    asset = conversion.Asset('text/html',
                             render_template('bar/print.html',
                                             bars=bars),
                             'print.html')
    thumbnail = None
    if bar.thumbnailurl:
        img_response = urlfetch.fetch(bar.thumbnailurl)
        if img_response.status_code == 200:
            thumbnail = conversion.Asset('image/jpeg', img_response.content,
                                         'thumb.jpg')
    conv = conversion.Conversion(asset, 'application/pdf')
    if thumbnail:
        conv.add_asset(thumbnail)
    result = conversion.convert(conv)
    if result.assets:
        attachment = [('Bars.pdf', result.assets[0].data)]
    else:
        attachment = []
        app.logger.error('Error Code: %s\nDescription\%s'%\
                             (result.error_code, result.error_text))
    return attachment

最佳答案 这可能是因为您的应用程序代码无法访问您在app.yaml中映射为
static资产的项目.尝试在代码中的某处包含图像,或者在app.yaml中将图像映射为静态.

听起来这是因为html资产中的img src路径应该与资产路径匹配.

点赞