无法使用Laravel将图像保存/更新到数据库中

时间:2019-04-16 08:46:07

标签: laravel image api

我正在尝试在创建用户时将图像保存到数据库中,并且为此使用了邮递员

我的代码:

import org.apache.commons.io.IOUtils

def content=urlrestservicestring.toURL().getBytes()
if (!content) throw new Exception("Pdf not available")
def docStream   = new ByteArrayInputStream(content)
response.setHeader("Content-disposition", "inline; filename=thenameyouwant.pdf")
response.setContentType('multipart/form-data')
IOUtils.copy(docStream,response.outputStream)
response.outputStream.flush()
response.outputStream.close()

我的用户已创建并保存到数据库中,但图像没有。
非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我真的很困惑。您想将图像存储在数据库中(坏主意)。其次,您想将图像存储在数据库中,但仅存储文件名。

建议:如果要将图像存储在数据库中,则可以选择将其转换为base64并存储字符串。检索时,您可以解码base64。例如:

$file = Input::file('image');    
$img_data = file_get_contents($file);
$base64 = $base64_encode($img_data);
$this->user->where('id', Auth::user()->id)->update(['profile_pic' => $base64 ]);

另一个建议[最佳方法]:将路径存储在数据库中,并将文件存储在存储设备或公共目录中,并使用url访问图像

但是,如果您仍然希望将其保存在数据库中

$image = addslashes(file_get_contents(Input::file('image')));
$this->user->where('id', Auth::user()->id)->update(['profile_pic' => $image ]);