我使用了以下代码,但我无法从中得到任何响应我遇到了例外情况,例如"不支持给定路径的格式。">
else if (Path.GetExtension(blobFilePath).ToLower() == ".jpg" ||
Path.GetExtension(blobFilePath).ToLower() == ".jpeg" ||
Path.GetExtension(blobFilePath).ToLower() == ".gif" ||
Path.GetExtension(blobFilePath).ToLower() == ".png")
{
filepath = blob.Uri.AbsoluteUri;
}
IEnumerable<MetadataExtractor.Directory> directories =
ImageMetadataReader.ReadMetadata(filepath.ToString());
你能帮我解决这个问题吗?
谢谢
您使用ImageMetadataReader.ReadMetadata
的重载需要文件系统路径。使用 URL 不起作用。
相反,您必须打开网络流并传递它。假设您的URL使用HTTP或HTTPS,这样的事情应该可以做到:
using (var client = new HttpClient())
using (var response = await client.GetAsync(url))
using (var content = response.Content)
using (var stream = await content.ReadAsStreamAsync())
{
// NOTE passing a stream here, not a string
var directories = ImageMetadataReader.ReadMetadata(stream);
// ...
}