Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用MetadataExtractor从Url获取元数据#_C#_Metadata Extractor - Fatal编程技术网

C# 在C中使用MetadataExtractor从Url获取元数据#

C# 在C中使用MetadataExtractor从Url获取元数据#,c#,metadata-extractor,C#,Metadata Extractor,我使用了以下代码,但我无法从中得到任何响应 我遇到过这样的例外 '不支持给定路径的格式。' else if (Path.GetExtension(blobFilePath).ToLower() == ".jpg" || Path.GetExtension(blobFilePath).ToLower() == ".jpeg" || Path.GetExtension(blobFilePath).ToLower() == ".gif" ||

我使用了以下代码,但我无法从中得到任何响应 我遇到过这样的例外 '不支持给定路径的格式。'

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());
else if(Path.GetExtension(blobFilePath.ToLower()=”.jpg)||
Path.GetExtension(blobFilePath).ToLower()==“.jpeg”||
GetExtension(blobFilePath.ToLower()==“.gif”||
GetExtension(blobFilePath.ToLower()==“.png”)
{
filepath=blob.Uri.AbsoluteUri;
}
IEnumerable目录=
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);

    // ...
}

此变量blobFilePath中的值是多少?blobFilePath=“AllJobs/dberror.PNG”和blob.URI.absoluteURI like“”在else if块中或从图像文件读取元数据时是否出错?无错误。。。执行以下部分代码IEnumerable directories=ImageMetadataReader.ReadMetadata(filepath.ToString())时出错;当它从特定文件路径读取元数据时,但当此文件可以是jpg或png时,则文件路径应为URL,这样会引发异常,如“不支持给定文件路径的格式读取元数据”。您是否可以共享MetadataExtractor的源详细信息/参考详细信息。目录?bro。。。使用(var response=await client.getAsync(url))停止执行上述代码第二行中的代码不起作用我正在使用“-jsmin/2C3A0481.MOV”这个azure存储url它不会给我任何错误,但会停止执行并挂起应用程序。我觉得要从这个url获得响应已经很长时间了