передать файл xlsx в угловой JS - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь передать файл xlsx, который я сгенерировал в php с библиотекой excelphp, моему внешнему интерфейсу в формате js.Для загрузки файла я использую библиотеку угловой файловой заставки.Все это работает правильно, проблема в том, что я не могу открыть файл, это означает, что он поврежден.

это мой php-код для отправки типа ответа:

$response = new Response();
        $response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        $response->headers->set('Content-Disposition', 'attachment;filename="' . $fileName . '"');
        $response->headers->set('Cache-Control', 'max-age=0');
        $response->headers->set('Cache-Control', 'max-age=1');

        $response->headers->set('Cache-Control', 'cache, must-revalidate');
        $response->headers->set('Pragma', 'public');
        $response->headers->set('Access-Control-Allow-Origin', '*');

        $response->prepare($request);
        $response->sendHeaders();
        ob_end_clean();
        $objWriter->save('php://output');
        exit();

это работаетотлично.

это мой угловой код js:

const file = await service.exportExcel(itemId);

const blob = new Blob([file], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});

      FileSaver.saveAs(blob, "Export.xlsx");

это прекрасно загрузить файл, но это сгенерированный контент:

enter image description here

в чем здесь проблема?

...