我正在尝试创建一个跨平台应用程序,我想使用Codeigiter将来自不同设备的图像保存在数据库中。我能够从设备中选择图像,但我对如何保存图像并从数据库中检索它们感到困惑和库存。
主计长
function addstatesoothing() {
// write user data into the user database
$config['upload_path'] = './';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000000';
$config['overwrite'] = TRUE;
$config['remove_spaces'] = TRUE;
$config['encrypt_name'] = FALSE;
$this->load->library('upload', $config);
$image_path = $this->upload->data('soothing-img');
$data = array(
'soothing-img' => $image_path[full_path],
'soothing-title' => $this->input->post('soothing-title'),
);
$this->favourite_db->addstatesoothing($data);
$this->load->view('soothing');
}
型号
function addstatesoothing($data) {
$this->load->database();
$this->db->insert('soothing', $data);
return $data;
}
检视
<form method="post" action="addstatesoothing">
<!-- <button data-theme="d" onclick="capturePhoto();">Capture Photo</button> -->
<a data-theme="d" onclick="getPhoto(pictureSource.PHOTOLIBRARY);">Click to Add Pictures</a>
<img style="width:100%;" id="largeImage" src="" name="soothing-img"/> <br>
<input type="text" name="soothing-title" id="Climbed a Mountain" value="" placeholder="Climbed a Mountain"/>
<button data-theme="a">Save Memory</button>
</form>
2条答案
按热度按时间syqv5f0l1#
要将图像保存到数据库中:
1 -数据库中的图像字段应为BLOB类型。
2 -从映像中获取文件内容:
3 -将其保存在数据库的BLOB类型字段中
我不知道你是否使用另一种方法来保存数据库中的数据,你的代码是有点不同,但这是方式,对吗?最后它将是一行插入数据库,如果你有任何疑问,在这里评论,但在这一点上是所有容易的,火腿?现在让我们去检索图像
首先,在数据库中存储图像内容是一个真实的的错误,但这不是问题所在吗?所以我不是这种方法的Maven,但我会:
创建另一个类似image.php的页面,通过参数接收一些id或图像名称
图片.php:
很好,你有一个很好的 *.php文件,像任何 *.jpg文件一样响应图像,所以现在在HTML中调用它
某个页面.html:
好了,都弄好了,
但是**为什么我告诉保存图像内容是坏的?:**所以小伙子们真棒,我们有惊人的材料来解释为什么保存图像在数据库中是坏的!你可以检查它,这里是:
hrirmatl2#
这个问题的第一个问题是您的表单无法上传图像,因为您没有使用多部分表单数据
你可以这样试试