gpt4 book ai didi

c# - 如何获取存储在内容文件夹.net 中的图像的路径

转载 作者:太空宇宙 更新时间:2023-11-03 20:00:26 28 4
gpt4 key购买 nike

我正在使用此代码从 visual studio 的 Content/img 文件夹中获取图像:

Image image = Image.FromFile(@"~\Content\img\toendra.JPG");

这给了我找不到文件的错误。但是,如果我给出图像的绝对路径,它就可以工作:

Image image = Image.FromFile(@"C:\Users\Stijn\Source\Repos\groep11DotNet\p2groep11.Net\Content\img\toendra.JPG");

我的相对路径有什么问题?

最佳答案

System.Drawing.Image.FromFile 不知道如何处理 ASP.NET 应用程序根相对路径。所以你必须使用中间函数将其转换为它可以理解的物理文件路径。

Image image = Image.FromFile(HttpContext.Current.Server.MapPath("~/Content/img/toendra.JPG"));

请注意,我将您的反斜杠转换为正斜杠(这是在 URL 中使用的正确符号)并且消除了对字符串文字的需要。

如果你要经常使用它,可以制作一个辅助工具类。

public static class ImageHelper
{
public static Image LoadFromAspNetUrl(string url)
{
if(HttpContext.Current == null)
{
throw new ApplicationException("Can't use HttpContext.Current in non-ASP.NET context");
}
return Image.FromFile(HttpContext.Current.Server.MapPath(url));
}
}

用法:

Image myImage = ImageHelper.LoadFromAspNetUrl("~/Content/img/toendra.JPG");

关于c# - 如何获取存储在内容文件夹.net 中的图像的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29080367/

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