正如这个问题的标题中简要描述的那样,我希望将直接从控制器生成的XML文件直接保存在Cloudinary中,而不是将其保存在本地(在公共文件夹中).
在设置代码时(因为我使用的是saveXML()方法),我必须首先在本地保存它,这样当它保存在Cloudinary上时,它会采用通过saveXML方法保存的文件的名称,然后将其保存在Cloudinary上.
因此,我希望将文件直接保存到Cloudinary,而不是保存在公用文件夹中.
能做到这一点吗?
这是我的代码(控制器):
public function fatturaxml($id)
{
$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', 'Mkenny');
$person->addChild('secondname', 'Mary');
$person->addChild('telephone', '000000000');
$person->addChild('email', 'marymkenny@yahoo.com');
$xml->saveXML('myxml.xml');
$response = Response::make($xml->asXML(), 200);
$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');
cloudinary()->uploadFile('myxml.xml', ['folder' => 'FolderTest',])->getSecurePath();
}
我也试着写
cloudinary()->uploadFile($xml, ['folder' => 'FolderTest',])->getSecurePath();
但我得到以下错误: Missing required parameter - file个