我对如何在数据库表中保存图像内容感到困惑。
请看第四行代码。我确信这个 restful 方法(使用 POST)有效,因为 getSize()
返回了真实值。
此外,如果我调试返回第 5 行的内容,我会得到类似于下一行的内容:
所以,我不确定我是否缺少将这些数据保存到数据库中的内容。
$personId = Input::get('PersonId');
$file = Input::file('media');
$tmppath = $file->getRealPath();
$content = file_get_contents($tmppath); //$file->getSize();
// return $content;
$model = Person::find($personId);
$model->Photo = $content;
$model->save();
$result = array(
"success" => true,
"data" => $personId,
"error" => ""
);
最佳答案
需要将文件保存到服务器,数据库中只存路径
写一个合适的方法,理想情况下你可以把它存储在一个 trait 中.
private function saveFileToDisk($file, $fileName)
{
$path = public_path() . '/uploads/';
return $file->move($path, $fileName . $file->getClientOriginalExtension());
}
然后将文件输入传递给您的方法并为文件提供名称:
$model->Photo = $this->saveFileToDisk(Input::file('media'), $model->Name);
显然,您需要先验证您的输入。
关于php - 如何使用 Eloquent 将图像文件内容保存到 SQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623935/