有没有一种方法可以将图片(不是url,图片)插入到使用phpmyadmin创建的MYSQL表中? ,如果有我想要获取该图片并将其插入页面中,我该怎么办? :)我可以在MYSQL数据库表中插入图像吗?
6
A
回答
7
这是可能的(使用BLOB类型),但它几乎总是更好的只是将图像存储在文件系统中,并将路径存储到数据库中的图像。
几个原因把我的头顶部:
的BLOB将气球数据库的大小,使备份和恢复可能较为困难(虽然有些人可能会认为,它可以更容易,因为你只需要备份数据库而不是数据库加上一堆文件)。
如果您使用
select *
的惰性代码,将数据存储为BLOB可能会导致性能问题。从文件系统提供图像将比从数据库提供图像更快,并减少数据库服务器上的负载。
您在服务图像的位置获得一些灵活性 - 例如,如果您希望将它们移到CDN中,
0
如果你要经常读取的图像,你可能会更好把它作为一个文件并保存它的路径,为您节省上获取的图像数据库运行。
否则,将图像文件的内容存储在BLOB列中,然后在HTML中打印<img src="image.php?id=1234" />
。
image.php
应该在数据库中查找ID为1234的图像,获取该BLOB列的内容,并在提供正确的HTTP标题后打印它,例如, header('Content-type: image/gif');
但是严重。只需保存图像文件。我保证,这种痛苦少得多。
0
当谈到静态资源,如背景图像或菜单图标等,我从来没有见过任何人将它们存储在数据库中。对于动态内容,例如用户上传的图像,这并不罕见。
下面是一些在数据库中存储图像的pro和con。
优点:
- 这在技术上是没有与其他数据不同。更多,二进制格式。
- 图像与数据库的其余部分一起备份。
- 不同步的(具有在数据库中指向一个不存在的图像中的数据库的路径,或未被引用的图像)
缺点的无头部疼痛:
- 贮藏个别文件正是文件系统所面向的目标,所以它很可能会更好地扩展。
- 更容易手动调试/查看图像
- Web服务器可以直接提供图像(不需要额外的代码从数据库加载内容并提供适当的MIME类型等)。
就我个人而言,我总是发现优点大于缺点,并且始终在数据库中包含图像(以及mime类型)。我从来没有注意到任何缺点或性能问题,但另一方面,我从来没有在非常大的网站上工作过。
相关的问题和资源:
相关问题
- 1. 我可以在MySQL数据库的列中输入公式吗?
- 2. 插入图像到MySQL数据库
- 3. 插入图像到MySQL数据库
- 4. 用longblob数据类型在mysql数据库中插入图像
- 5. 在MySQL数据库中插入图像时发生mysql错误
- 6. 我可以插入数据库中的所有字段吗?
- 7. 在数据库中插入图像
- 8. 我可以同时在mysql中插入2行或数组吗
- 9. Java Applet - 可以将数据插入到MySQL数据库中?
- 10. 我可以在MySQL数据库中显示所有表格和数据吗?
- 11. 如何使用PHP在MySQL数据库中插入图像?
- 12. 我可以在MySQL数据库字段表达式中运行MySQL查询吗?
- 13. 在SVG图像中插入元数据“标记” - 这可能吗?
- 14. 我可以在mysql数据库中获得最高的值吗?
- 15. 我可以将JavaScript对象存储在mySQL数据库中吗?
- 16. 我可以在oracle中插入数据时指定顺序吗?
- 17. 我可以在AUTOINCREMENT字段中插入数据吗?
- 18. 我可以在我的数据库中添加其他表吗?
- 19. 将图像插入数据库中
- 20. 以blob类型在数据库中插入图像 - Codeigniter
- 21. 我们可以使用java从MySql数据库获取添加的图像吗?
- 22. 在MySQL数据库中插入数组
- 23. 无法在我的Access数据库中插入图像
- 24. 根据SQLite中的查询,我可以插入到不同的数据库吗?
- 25. 在所有表中的MySQL数据库中插入数据
- 26. 我可以直接从我的Arduino中将项目放入MySQL数据库吗?
- 27. PDO在数据库中插入图像并检索图像
- 28. 我可以将图像插入聚合物中的其他图像吗?
- 29. PHP:从谷歌图表一QR +图像中插入MySQL数据库
- 30. 通过JSP表格在SQLite数据库中插入图像
使用BLOB类型,它会插入图像为0和1的 – Karthik 2010-05-18 14:39:12
并请务必保存(并响应)与适当的mime类型相对应的那些0和1 ... – aioobe 2010-05-18 15:12:11