Сгенерируйте и загрузите файл XML с помощью Laravel - PullRequest
2 голосов
/ 23 апреля 2019

Я пытаюсь сгенерировать файл XML с помощью Laravel. Начиная с контроллера, где я генерирую данные, которые мне нужно использовать в файле XML. Я генерирую XML-файл, используя шаблон blade-сервера, но не могу сохранить файл или загрузить его автоматически


$xml_datos = [];
$total = 0;

.
.
.

$output = View::make('site.contabilidad.adeudosXML')->with(compact(('xml_datos', 'total'))->render();

$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \n <Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.008.001.02\">" .$output;

return $xml;

Мне нужен файл для загрузки, а не для показа. Я пытался использовать класс Storage и Filesystem, но ни один из них, похоже, не работает

1 Ответ

1 голос
/ 23 апреля 2019

Вы можете создать Ответ , например:

 public function saveXML()
    {
        $output = View::make('site.contabilidad.adeudosXML')->with(compact(('xml_datos', 'total'))->render();

        $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \n <Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.008.001.02\">" .$output;

        $response = Response::create($xml, 200);
        $response->header('Content-Type', 'text/xml');
        $response->header('Cache-Control', 'public');
        $response->header('Content-Description', 'File Transfer');
        $response->header('Content-Disposition', 'attachment; filename=' . yourFileNameHere . '');
        $response->header('Content-Transfer-Encoding', 'binary');
        return $response;
    }

Кроме того, я настоятельно рекомендую использовать PHP-функции для управления XML .

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