首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql数据库中的图像存储

问mysql数据库中的图像存储
EN

Stack Overflow用户
提问于 2013-10-20 04:49:51
回答 3查看 409关注 0票数 0

我想将图片存储在mysql数据库中。图像通过android发送的问题是,我真的不知道用哪种方法在msql数据库中存储图像。

代码语言:javascript
复制
 1. Access image from file
 2.Store image in filesystem and store the url in the database
 3.Store the image in the database

在存储这些图像之后,我想把这些图像放到PHP文件中。

我想知道哪种方法是最好的,怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-20 05:36:31

在移动平台上,数据库调用是昂贵的。这意味着从数据库获取信息需要更多的周期,并且可能会降低应用程序的性能。很明显你不想那样。不过,如果您想这样做,BLOB就是您的答案。

--高效方式

在数据库中添加绝对路径字段,并从本地存储中获取图像。

这是最好的做法。

票数 0
EN

Stack Overflow用户

发布于 2013-10-20 05:16:04

是的,您可以将图像存储在数据库中,但这是不可取的,也是错误的做法。

不要将图像存储在数据库中。将图像存储在目录中,并在数据库中存储对图像的引用。类似于将图像路径存储在数据库中或将图像名称存储在数据库中。

图像可以获得相当大的1MB >。即使这是一个小图像,它仍然是不好的做法。您正在对数据库事务进行额外的点击,这是完全可以避免的。没有大型网站将图片存储在数据库中。例如: Facebook不会这么做。这不是个好主意。

避开它。使用目录.

票数 1
EN

Stack Overflow用户

发布于 2013-10-20 05:33:21

首先创建一个照片表来存储图像的引用

代码语言:javascript
复制
    CREATE TABLE IF NOT EXISTS `photos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `img` varchar(255) NOT NULL,
  `sound` varchar(255) NOT NULL,
  `about` text NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `user_id` varchar(255) NOT NULL,
  `likes` int(255) NOT NULL,
  `down` int(255) NOT NULL,
  `seen` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

然后,在上传过程中,将图像保存到文件夹中,获取图像文件名并将其存储到表中,如下所示。

代码语言:javascript
复制
$save_image = mysql_query("INSERT INTO photos VALUES('','$originalFile','','$about','$data','$uid','0','0','0')") or die(mysql_error());

然后简单地显示图像

代码语言:javascript
复制
    $p = mysql_query("select img from photos");
$p_f = mysql_fetch_assoc($p);

$img = $p_f['img']; 

简单地显示图像

代码语言:javascript
复制
<img src="myFolder/<?php echo $img?>">

而你完成了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19474030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档