我正在从API下载Excel。下载工作正常,但是当我尝试打开excel文件时,显示错误“文件格式和扩展名不匹配”。
代码中还有其他需要吗?当我手动点击URL时,就可以打开excel文件了。
手动下载时的文件类型为.xls格式,因此在代码中将格式设置为.xls。
代码
using (var client = new HttpClient())
{
//HTTPClient to download the report
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Add("Authorization", "XXXX");
client.DefaultRequestHeaders.Add("Accept", "application/vnd.ms-excel");
var response = client.GetAsync(url);
if (response.Result.IsSuccessStatusCode)
{
using (Stream streamToReadFrom = response.Result.Content.ReadAsStreamAsync().Result)
{
//Saving the report to a local path
using (Stream streamToWriteTo = File.Open(localpath, FileMode.Create))
{
streamToReadFrom.CopyToAsync(streamToWriteTo).Wait();
}
}
}
}
在这种情况下,报告下载URL不正确。我的网址不正确,可以解决此问题。