微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Umbraco / .NET-使用GDI +访问图像元数据,未找到文件异常

如何解决Umbraco / .NET-使用GDI +访问图像元数据,未找到文件异常

我正在尝试使用System.Drawing.Image.FromFile访问Umbraco媒体库中图像的EXIF元数据,虽然我可以使我的代码能够通过HDD上本地文件的路径来工作(例如c:\ example。 jpg)如果我在媒体库中传递某项的网址,则会收到文件未找到的异常。 我尝试将URL与http:// localhost:xxxx串联,但收到错误消息,提示格式不正确。我已经尝试过使用在线托管的图像的完整网址并获得相同的结果,这使我怀疑FromFile不接受网址。 我找不到任何文档来支持这种理论,而且似乎很愚蠢?

TL; DR为什么路径适用于System.Drawing.Image.FromFile而不适用于网址?

这是我的代码

var testimage = Model.Value<IPublishedContent>("testimage");
System.Drawing.Image image = System.Drawing.Image.FromFile(testimage.Url);

解决方法

我敢猜测,Image.FromFile需要一个正确的文件路径,而不是您提供的URL。

看看这个问题:ASP.NET Get physical filepath from URL,看看提供的选项之一是否对您有用。

所以你会做类似的事情

var testImage = Model.Value<IPublishedContent>("testImage");
var physicalPath = Server.MapPath(testImage.Url);
System.Drawing.Image image = System.Drawing.Image.FromFile(physicalPath);

(我没有对此进行测试,但我希望它能使您更近一些)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。