我正在尝试创建xmlfile并从我的程序中下载它但它运行得不是很好。
这是我的代码:
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><mydoc></mydoc>');
$xml->addAttribute('version', '1.0');
$xml->addChild('datetime', date('Y-m-d H:i:s'));
$person = $xml->addChild('person');
$person->addChild('firstname', 'Someone');
$person->addChild('secondname', 'Something');
$person->addChild('telephone', '123456789');
$person->addChild('email', 'me@something.com');
$address = $person->addchild('address');
$address->addchild('homeaddress', 'Andersgatan 2, 432 10 Göteborg');
$address->addChild('workaddress', 'Andersgatan 3, 432 10 Göteborg');
$xml->saveXML('test.xml');
$response = Response::make($xml->asXML(), 200);
$response->header('Content-Type', 'text/xml');
return $response;
这是在我的浏览器中显示xmlfile,但我想要一个弹出窗口,要求我下载我刚刚创建的文件。我尝试使用Response :: download(),但这不起作用,因为第一个参数应该是文件的路径。
任何帮助都将不胜感激。
答案 0 :(得分:8)
我认为您可能需要添加更多标题:
$response->header('Cache-Control', 'public');
$response->header('Content-Description', 'File Transfer');
$response->header('Content-Disposition', 'attachment; filename=test.xml');
$response->header('Content-Transfer-Encoding', 'binary');
$response->header('Content-Type', 'text/xml');