无法从api下载Tiff数据

时间:2014-07-17 15:39:17

标签: c# .net geotiff

我正在使用能够下载tif文件的API。我正在做的是获取Async请求的结果,然后将流复制到桌面上的文件中。每当我使用IrfanView打开文件时,它会说它有无法识别的标题。

我检索此数据的步骤是:

首先,我将使用ReadAsStreamAsync()函数获取数据。保存检索数据内容的变量的类型为Stream。然后我打开一个文件流并使用CopyTo()函数将结果中的数据复制到文件中。这是正确的方法吗?

            dynamic resultContent = null;
            Stream result = null;
            var queryString = args.Length == 0 ? "" : "?" + string.Join("&", args);
            var url = _cfg.Server.apiUrl + _apiUri + queryString;

            if (_apiOp == Operation.Read && !queryString.Contains("id"))
                resultContent = this.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
            else if (_apiOp == Operation.Write)
                resultContent = this.PostAsync(url, content).Result.Content.ReadAsStringAsync().Result;
            else if (_apiOp == Operation.Delete)
                resultContent = this.DeleteAsync(url).Result.Content.ReadAsStringAsync().Result;
            else if (_apiOp == Operation.Read && queryString.Contains("id"))
                result = this.GetAsync(url).Result.Content.ReadAsStreamAsync().Result;

            if (queryString.Contains("id"))
            {
                var fileStream = File.Create(@"C:\Users\wei\Desktop\MyGeoTiff.tiff");
                result.CopyTo(fileStream);
                fileStream.Close();
            }

1 个答案:

答案 0 :(得分:0)

APi正在返回一个zip文件而不是tif文件,这正是我所期待的。将文件扩展名更改为.zip,并且能够成功获取zip中的tif。