1

我使用了以下代码,但我无法得到任何回应,因为我遇到了这样的异常,例如“不支持给定路径的格式”。

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());

你能帮我解决这个问题吗?

谢谢

4

1 回答 1

1

您正在使用的重载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);

    // ...
}
于 2017-11-15T16:11:07.350 回答