首页 > 解决方案 > Angular:如何在您的存储桶 S3 上外包翻译?

问题描述

我正在使用 ngx-translate 来管理我的 Angular 应用程序上的翻译。当我的文件直接在我的应用程序中时,一切都运行良好,但我想将所有 json 文件放在存储桶 S3 上,并将这些文件用于 ngx-translate。

我不知道如何更改我的 HttpLoaderFactory 函数以使其适应 ngx-translate 和 AWS S3 :

export function HttpLoaderFactory(http: HttpClient, translate: TranslateService, ) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json'); //URL and S3:// doesn't work here
}

我在互联网上找不到任何关于如何做到这一点的信息。如果有人对如何做到这一点有答案或想法,我很乐意在我的应用程序上进行测试!

Jb

标签: angulartypescriptamazon-web-servicesamazon-s3ngx-translate

解决方案


通过评论获得更多信息后,我总结如下:

您必须使用httphttpsURL。如果您仍然收到403 Forbidden错误,这意味着该资源不是公开可用的。从这一点来看,这个问题不是 Angular 或 Typescript 相关的问题,它完全取决于您的服务器配置。

请仔细检查您是否在 AWS Admin 上公开了资源。

尽管如此,即使您将CORS公开,您也可能会遇到问题。如果是这种情况,还要检查您在 AWS 上的 CORS 设置。

祝你好运!


推荐阅读