C# 从WCF-ASP.NET核心下载ZIP文件

C# 从WCF-ASP.NET核心下载ZIP文件,c#,wcf,asp.net-core,zip,C#,Wcf,Asp.net Core,Zip,我正在访问ASP.NET核心应用程序中的WCF服务,该应用程序以字符串格式返回内容和文件名 我想从controller action下载zip文件,该文件来自服务返回的数据,所以写在下面的代码中 我可以下载该文件,但当尝试打开它时,提示无效。有人能帮上忙吗 var data = await someService.GetZipFile(); byte[] bytes = Encoding.ASCII.GetBytes(data.Content); return File(bytes, "ap

我正在访问ASP.NET核心应用程序中的WCF服务,该应用程序以字符串格式返回内容和文件名

我想从controller action下载zip文件,该文件来自服务返回的数据,所以写在下面的代码中

我可以下载该文件,但当尝试打开它时,提示无效。有人能帮上忙吗

var data = await someService.GetZipFile();

byte[] bytes = Encoding.ASCII.GetBytes(data.Content);

return File(bytes, "application/zip", data.FileName);

如果字符串内容的格式为base64字符串,请尝试以下操作

public async Task<ActionResult> Download(...) {    
    var data = await someService.GetZipFile(...);

    String filename = data.FileName;
    String content = data.Content;

    //convert from base64 string
    byte[] bytes = Convert.FromBase64String(content);

    return File(bytes, "application/zip", filename);
}
公共异步任务下载(…){
var data=await someService.GetZipFile(…);
字符串文件名=data.filename;
字符串内容=data.content;
//从base64字符串转换
byte[]bytes=Convert.FromBase64String(内容);
返回文件(字节,“应用程序/zip”,文件名);
}

请提供
someService.GetZipFile()的代码