如何在asp.net web api中将图像路径转换为http url?

Posted

技术标签:

【中文标题】如何在asp.net web api中将图像路径转换为http url?【英文标题】:How to convert image path to http url in asp.net web api? 【发布时间】:2021-08-01 12:49:24 【问题描述】:

我的主域是http://172.27.88.111。我有一个图像文件的相对路径,例如 Media/myimg.jpg

我需要借助 asp.net 中的 REST API 将此路径转换为完整的 URL。

我想要 POSTMAN 中图像路径的输出类似于

http://172.17.88.111/Media/myimg.jpg

【问题讨论】:

【参考方案1】:

使用 LINQPad 脚本作为示例,这里有 3 个示例 - 但使用 'Uri' 类通常是最好的倡导方式:

void Main()

    var baseUrlStr = @"http://172.27.88.111";
    var relUrlStr = @"/Media/myimg.jpg";

    // # 1
    var baseUri = new Uri(baseUrlStr);
    var relUri = new Uri(relUrlStr, UriKind.Relative);

    var absUri = new Uri(baseUri, relUri);

    Console.WriteLine(absUri);

    // # 2
    Console.WriteLine($"baseUrlStrrelUrlStr");

    // # 3
    Console.WriteLine(baseUrlStr + relUrlStr);


这应该给出以下输出:

http://172.27.88.111/Media/myimg.jpg 
http://172.27.88.111/Media/myimg.jpg
http://172.27.88.111/Media/myimg.jpg

【讨论】:

以上是关于如何在asp.net web api中将图像路径转换为http url?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.NET Web API 实现中将数组传递给 OData 函数?

在 Asp.Net Web API 中将 JSON 反序列化为派生类型

ASP.NET 的 web api - 如何构建对象流

如何在托管的 ASP.NET Web API 中使用 System.IO.File 提供相对路径?

使用 ASP.NET Web API,控制器如何返回使用 DotNetZip 库压缩的流图像集合?

如何在 ASP.NET MVC 应用程序中将图像上传到 cloudinary?