如何在Laravel 5.5中获取变量文件的内容

时间:2018-03-08 05:59:50

标签: php laravel laravel-5.4 laravel-5.5

我正在通过office365 API上传需要附加到电子邮件的文件。

我需要的是变量中的文件内容没有存储/保存文件,我该怎么办?

foreach ($request->filesToUpload as $file) {
    $originalName = $file->getClientOriginalName();//working
    $content = $file->getContent();//<- I need this, but not working
    //$this->addAttachment($content, $originalName) //logic for later
}

2 个答案:

答案 0 :(得分:4)

访问文件的内容,如下所示:

$content = file_get_contents(Input::file('nameAttribute')->getRealPath());

或换句话说,在该循环内

$contents = file_get_contents($file->getRealPath());

使用对象方法获取真实路径,您可以像任何其他文件一样与它进行交互。

答案 1 :(得分:0)

Waqas Bukhary, 你得到了这个结果,因为getContent不是uploadFiles的方法,请检查documentation。 但是你有路径,所以你总是可以阅读内容,例如:

$path = $file->path();
$handle = fopen($path, 'r');
$content = fread($handle, filesize($path);
fclose($handle);

如果您知道文件字段的名称,也可以使用“请求文件”方法,检查它here