Как сохранить поток памяти в DataTemp in. net core 3 In Controller Action - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу хранить данные в файле TempData. Ключ является ключевым, а метод вызывается действием ajax. метод ниже вызывается ajax и в ответе ajax я снова вызываю Ajax GET DownloadExcel () метод.

public IActionResult ExportExcel(List<string> wfsId, List<string> centerId, List<string> poolId,
   List<string> payer, List<string> csId, List<string> agingBucket, int timezoneOffset) {

   try {
      var memoryStream = ExcelHelper.ExportDataSet(dataTable);
      memoryStream.Seek(0, SeekOrigin.Begin);

      TempData[fileGuid] = memoryStream.ToArray();    
      var retvalue = new { FileGuid = fileGuid, FileName = fileName };

      return Ok(retvalue);
   }

   public ActionResult DownloadExcel(string fileGuid, string fileName) {
      if (TempData[fileGuid] != null) {

         // var deserializeObject = JsonConvert.DeserializeObject(TempData[fileGuid].ToString());
         // byte[] data = Encoding.ASCII.GetBytes(deserializeObject.ToString());

         byte[] data = TempData[fileGuid] as byte[];

         return File(data, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);
      }
   }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...