通过URLjoin泊坞窗卷

我用c#创build了一个小webapi,可以让我的用户上传图片。 该方法如下所示:

public async Task<IActionResult> CreateXXX(ADto dto) { // Save the image in a docker volume } 

CreateXXX方法以ADto作为参数,其中包含一些属性,一个是我的图像,base64编码。 我基本上在这里做的很简单:我解码图像,然后,因为我的webapi服务托pipe在docker容器中,我将它保存在docker卷。 一切工作正常,我可以看到图像保存在我的主机(我映射的卷)。

现在,我在我的webapi服务上创build了一个get返回给客户端的图像。 同样, ADto包含一些属性,一个是我的映像在磁盘上的path (我的docker-volume)。 path如下所示: /pictures/123456789.jpg

问题是:浏览器应该如何访问资源来显示图像? 使用http:// localhost:5001 / pictures / 123456789.jpg不起作用。 (本地主机:5001是我的webapi托pipe的地方)。

客户端浏览器永远不会访问您的本地文件系统。 唯一的方法是URL是有效的,如果你的web服务器上有一个处理器把传入请求映射到你的本地文件系统。 无论您的应用程序是在Docker容器还是服务器中运行,它都没有什么区别。

如果您将IIS用作Web服务器,则可以创build一个虚拟目录并将其映射到文件系统上的图片目录。 如果您将Kestrel用作应用程序服务器,则需要实施处理程序以将传入的请求转换为您的图片文件。

您需要更具体地了解您使用的技术,否则无法进一步提供帮助。