我正在使用能够下载 tif 文件的 API。我正在做的是获取异步请求的结果,然后将流复制到我桌面上的文件中。每当我使用 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();
}