我有这个方法,它返回从模型创建的jsonresult。我想返回的是zip文件,而不是返回json文件。我该怎么办? 香港专业教育学院使用zipFile,它对我不起作用: 这是我的原始代码:
[System.Web.Http.HttpGet]
[System.Web.Http.Route("getData")]
[APIAuthenticate(Tool = "myData", Action = "Export")]
public JsonResult<Models.Gtri.userData> GetALLUserData(int pomYear = 21)
{
Func<Dualie, Models.Gtri.Investments> Convert2Flint = (dualie) => IssueRepository.ConvertToFlintModel(dualie);
using (REALM_Entities db = new REALM_Entities())
{
List<Dualie> userToExport= db.Dualie.Where(dualie => dualie.Issue_Status.ID != 0)
.ToList();
foreach (var dualie in dualiesToExport)
{
dualie.FundingLine_Details = dualie.FundingLine_Details.Where(fd => !fd.IsArchived).ToList();
}
Models.Gtri.FlintModel model = new Models.Gtri.FlintModel()
{
CreationDate = DateTime.UtcNow.ToString("o"),
SchemaVersion = "2",
PomYear = $"20{pomYear.ToString()}",
Investments = dualiesToExport.Select(d => Convert2Flint(d)).ToList()
};
return Json(model);
}
}
我尝试在我的代码中使用它:
var jsonString = Json(model).ToString();
var bytes = Encoding.UTF8.GetBytes(nostring.ToString());
var ms = new MemoryStream();
using (ZipFile zipFile = new ZipFile())
{
zipFile.Name = "test.zip";
zipFile.AddEntry(zipFile.Name, bytes);
zipFile.Save(ms);
}
返回Ok(ms.ToArray()); }
但是它仍然不起作用。我得到一个压缩的json但没有一个zip。 我还能采取什么其他方法?