【问题标题】:Accessing images in assets folder by URL in angular通过 Angular 中的 URL 访问资产文件夹中的图像
【发布时间】:2020-01-29 10:23:58
【问题描述】:

在生成发票的 PDF 文件时,我正在尝试在 Spring 后端使用 Angular 应用程序中的徽标。

invoice.logo.url=http://localhost:4200/assets/gfx/img/logos/rkmteam-logo.png

图片没有显示在 PDF 中,但是当我将它上传到 imgur.com 时,它可以完美运行。

手动转到网址有时会显示图片但有时会给我这个错误:

Error: Cannot match any routes. URL Segment: 'assets/gfx/img/logos/rkmteam-logo.png'

如何访问外部应用程序中的图像?我不想依赖第三方网站(imgur 等)。

【问题讨论】:

    标签: angular spring-boot


    【解决方案1】:

    如果我理解正确,那么您的 Springboot 应用程序需要访问您的 Angular 应用程序来检索图像。

    要完成这项工作,您需要确保可以通过 Angular 中的 /assets 文件夹公开访问这些图像。验证您的 angular.json 文件以确保其设置正确。

    话虽如此,我不推荐这种循环设置。理想情况下,后端应该与前端无关,但您会使其成为硬依赖。

    相反,我会考虑在 Springboot 中托管徽标。如果这不可能,我会考虑使用 Base64 对徽标进行编码,并以这种方式将编码后的字符串传递给 Springboot。

    【讨论】:

      【解决方案2】:

      您必须将图像转换为 base64 字符串并将其添加到您的 PDF 发票中。

      要将图像转换为 base64,请检查:Converting an image to base64 in angular 2

      【讨论】:

      • 为什么它有时而不是一直有效,只是通过 URL?
      • 我不知道为什么,但最好的方法是将您的图像转换为 base64,然后将其添加到您的 pdf 中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2017-12-11
      • 1970-01-01
      • 2017-06-14
      • 1970-01-01
      相关资源
      最近更新 更多