gpt4 book ai didi

c# - 通过URL访问Docker卷

转载 作者:行者123 更新时间:2023-12-02 21:19:03 24 4
gpt4 key购买 nike

我使用C#创建了一个小型的webapi,可让用户上传图片。该方法如下所示:

public async Task<IActionResult> CreateXXX(ADto dto)
{
// Save the image in a docker volume
}
CreateXXX方法将 ADto作为参数,其中包含一些属性,其中一个是我的图像,以base64编码。我在这里所做的基本上很简单:我解码图像,然后,由于我的webapi服务托管在docker容器中,因此将其保存在docker卷中。一切工作正常,我可以看到该图像已保存在主机上(我映射的卷)。

现在,我在webapi服务上创建了一个get方法,该方法将图像返回给客户端。同样,它是 ADto包含的一些属性,其中一个是 磁盘上我的镜像的路径(我的docker-volume)。路径如下所示: /pictures/123456789.jpg
问题是:浏览器应如何访问资源以显示图像?使用 http://localhost:5001/pictures/123456789.jpg不起作用。 (我的webapi托管在localhost:5001)。

最佳答案

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

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

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

关于c# - 通过URL访问Docker卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com