我对CakePHP和图像都很新,所以请耐心等待。你可以假设我使用的是最新版本。
我正在尝试构建一个可以显示从服务器检索到的图像的Android应用程序。
假设我在assets文件夹中有一个名为football.jpg的图像。我如何将其存储在数据库中,然后如何将其输出到Android应用程序?我只发送链接还是发送整个图像?如果只是链接,这是否意味着我必须通过链接重新连接到服务器,然后获取图像?对不起,如果这没有意义。仍然试图绕过它。
答案 0 :(得分:1)
请注意,最好将文件存储在服务器的文件系统中,并将文件路径存储在数据库中。这背后的原因是BLOB存储在文件系统的不同区域中以存储到所有其他典型数据,并且在检索方面,它的速度不是很快。
以下是我的意思的链接:Store pictures as files or in the database for a web app?
关于将其返回到您的Android应用,您可以在响应对象(http://book.cakephp.org/2.0/en/controllers/request-response.html#cake-response-file)中发送文件:
public function sendFile($id) {
$file = $this->Attachment->getFile($id);
$this->response->file($file['path']);
//Return reponse object to prevent controller from trying to render a view
return $this->response;
}
这可以让您更好地控制返回给客户端的文件。