【发布时间】:2012-04-23 04:46:19
【问题描述】:
出于安全原因,我在 MYSQL 中存储了一些图像。当我下载图像时,文件以正确的文件大小和名称下载,但没有显示图像。当我查看它的属性时,图像也没有尺寸。我正在使用 cakephp。
header("Content-type: ".$file['UploadFile']['file_extension']);
header("Content-Disposition: attachment; filename=\"".$file['UploadFile']['file_name']."\"");
header("Content-length: ".$file['UploadFile']['file_size']);
echo $file['UploadFile']['file_content'];
我使用以下代码保存我的图像...
public function image_upload($fileName, $source, $extension, $file_size) {
$this->loadModel('UploadFile');
$content = addslashes(file_get_contents($source));
$file_data = array('UploadFile' => array('title' => $fileName, 'file_content' => $content, 'file_name' => $fileName, 'file_extension' => $extension, 'file_size' => $file_size, 'file_type' => 'image-art'));
$this->UploadFile->create();
$this->UploadFile->save($file_data);
$file_id = $this->UploadFile->id;
return $file_id;
}
【问题讨论】:
-
尝试将
$file['UploadFile']['file_extension']打印出来,返回什么? -
您的问题提出了两个不同的概念 - 从数据库中提取图像 - 从文件上传中提取图像。你在说哪个?
-
对不起,我在mysql中的表名是upload_files,所以对于cakephp,您可以使用模型UploadFile访问数组中的数据
-
@DRP96 它返回图像/jpeg。
标签: php mysql image file cakephp