2016-05-30 75 views
0

说明我的过程:(Laravel)储蓄形式的请求文件

当用户在矿山,并上传的一种形式罢了,它不会上传到数据库中。它被上传到基于Web的第三方应用程序,其中包含我们所有的客户信息。然而,这个应用程序有一个作为安全性的速率限制,因为我不能让填写表单的客户知道这一点,我需要暂时将数据保存到我的数据库。

我已经有这个和我想要它运行。虽然有一个问题。

问题:

如果表单包含一个文件,该文件将不会被上传到数据库,因为laravel不允许UploadFile对象的序列化。这是公平的,因为所有这些都会将临时文件的目录上载到数据库,所以这是行不通的。

无论哪种方式,API期望文件正文是multipart/form-data,所以我不能从数据库中获取它。

解决方案?

是否可以在本地保存文件并以某种方式重新执行请求,而无需再次手动填写表单?

我意识到这个请求有点奇怪,但我确信将请求临时保存在数据库中供以后使用的想法是非常好的知识。

+1

您可以用编程方式发送狂饮的形式。请参阅[发送表单文件](http://docs.guzzlephp.org/en/latest/quickstart.html#sending-form-files) –

+0

谢谢,我会看看! – Kjaal

回答

0

为了解决这个问题,我和Ben Swinburne建议使用guzzle。

我所做的就是将文件保存在本地使用Input::file('input')->move('destination', 'filename')功能

然后我用cron作业检查请求后调用数据库。然后,Guzzle向原始POST网址发出请求并上传整个事件。

狂饮代码:

$fileresponse = Guzzle::post('/path/to/POST', [ 'multipart' => $arrayOfValues ] );