如何处理 Web API 中的静态文件相对路径?

JSON

我的 Angular 项目在与我的 API 后端 (asp.net) 不同的端口上运行。我正在使用代理将所有 http 请求路由到后端网络服务器,如下所示。

{
  "/api": {
     "target":  {
       "host": "localhost",
       "protocol": "https:",
       "port": 5001
     },
     "secure": false,
     "logLevel" : "debug",
     "changeOrigin": true
  }
}

我的 Angular 项目服务选项是,

 "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "art-ng-core:build",
            "host": "www.artngcore.com",
            "port": 8500,
            "sslKey": "key.key",
            "sslCert": "server.crt"
          },
          "configurations": {
            "production": {
              "browserTarget": "art-ng-core:build:production"
            }
          }
        },

我的问题是 API 提供的静态文件,即图像。

<img src={{imagePath}}>

我的后端静态文件在不同的静态文件夹“ SystemData ”中提供,共享路径为“ Data ”。

假设我有一个带有相对路径的文件:/Data/UserData/test.jpg. 如果我提供src具有相对路径的属性,则图像的 URL 将看起来像https://www.artngcore.com:8500/Data/UserData/test.jpg它应该在的位置https://localhost:5001/Data/UserData/test.jpg

如何以与 Http 调用相同的方式代理对静态文件的调用?

现在,我通过让我的 api 提供完整 URL 而不是相对路径来解决这个问题,但我不确定在处理静态文件时这是否是一种常见或好的做法。

我正在我的数据库中保存相对路径,并运行以下方法来生成 URL

public string GenerateUrl(string filePath, HttpRequest ctx) {
    string physicalPath = this.GetRootPath() + filePath;
    var url = physicalPath.Replace(Directory.GetCurrentDirectory (),$@"{ctx.Scheme}://{ctx.Host}").Replace(@"SystemData", @"Data");
    return url;
}

谢谢你。

JB尼泽

您希望以与以 开头"/Data"URL完全相同的方式处理 URL "/api"

所以...只是做同样的事情,并在您的代理配置 dor 中添加一个部分"/Data"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在我的Web应用程序中设置相对路径

在相对路径中运行批处理文件?

如何从相对路径的MediaStore中读取文件?

如何定义文件的相对路径?

如何处理Junit中Maven和Intellij之间的相对路径

如何处理 ASP.NET Web API 中不记名令牌的缺失或过期

如何处理Web API Controller-Get Method,MVC 4中的“未找到”错误?

并发Web API请求以及如何处理ASP.NET Core中的状态

如何使用 echo 从 Windows 批处理文件中获取相对路径?

如何获得静态字符串的相对路径?

Web.Config中ASP.NET的文件相对路径

如何处理来自外部来源的慢速Web API

Web Api 如何处理此查询字符串?

批处理-使用相对路径复制文件

如何从配置文件中的相对路径读取文件内容

使用相对路径从批处理文件中执行PowerShell

ASP.NET Core Web API - 如何处理 URL 查询字符串中的“null”与“undefined”?

如何访问带有相对路径的txt文件?

如何读取文本文件的相对路径

如何使用相对路径包含文件?

如何在C ++中打开具有相对路径的文件?

如何在带有参数的git别名中获取文件的相对路径?

Java-如何使用相对路径在目录中创建文件

如何在Visual Studio中获取文件的相对路径?

如何在QMAKE中为头文件创建相对路径

如何从具有相对路径的包中的模块内部打开文件?

如何在open()中使用相对路径在python中打开文件?

如何使用相对路径在C ++文件中向上导航

如何在C ++中检查具有相对路径的文件的存在