我正在尝试在创建用户时将图像保存到数据库中,并且为此使用了邮递员
我的代码:
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()
我的用户已创建并保存到数据库中,但图像没有。
非常感谢您的帮助!
答案 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 ]);