【发布时间】:2019-08-13 21:54:06
【问题描述】:
由于我的数据库不会拍摄大量图像,因此我将它们直接上传到数据库。但是,我在显示它们时遇到问题,我不想下载它们,我想在页面上看到它们。我正在尝试使用以下代码显示,但它不起作用:
MyFiles 控制器的函数 display():
function display($id)
{
$file = $this->MyFile->findById($id);
$this->set('image',$file['MyFile']['data']);
}
我的文件模型:
<?php
class MyFile extends AppModel {
var $name = 'MyFile';
}
?>
MyFilesController 的函数 add()
function add() {
if (!empty($this->data) &&
is_uploaded_file($this->data['MyFile']['File']['tmp_name'])) {
$fileData = fread(fopen($this->data['MyFile']['File']['tmp_name'], "r"),
$this->data['MyFile']['File']['size']);
$this->request->data['MyFile']['name'] = $this->data['MyFile']['File']['name'];
$this->request->data['MyFile']['type'] = $this->data['MyFile']['File']['type'];
$this->request->data['MyFile']['size'] = $this->data['MyFile']['File']['size'];
$this->request->data['MyFile']['data'] = $fileData;
$this->MyFile->save($this->request->data);
$this->redirect(array('controller'=>'posts','action'=>'index'));
}
}
编辑:
MyFiles 视图的 display.ctp
<?php
echo '<img src="/MyFilesController/display/4" />';
?>
【问题讨论】:
-
你的布局是否有:fetch('content'); ?>
-
您如何尝试将图像加载到浏览器中?数据网址?从
src="..."? 调用的图像显示脚本? -
@MarcB 你能更具体一点吗?如果我使用 scr 不应该是目录文件夹而不是数据库?
-
您没有指定您的蛋糕 php 版本。请这样做 - 永远。
-
<img src="somescript.php?imageID=xxx">或<img src="data:image/jpeg;base64,....">?不知何故,您必须以浏览器识别的形式将图像从 PHP 获取到浏览器。