mysql可以储存图像吗?

sun_2000 2002-09-03 11:30:02
请问mysql可以储存图像吗?如果可以如何用jsp写入和读取?谢谢啦
...全文
50 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgramCobra 2002-09-25
  • 打赏
  • 举报
回复
当然可以,用blob类型
Fuxiao 2002-09-23
  • 打赏
  • 举报
回复
gz
alphapaopao 2002-09-11
  • 打赏
  • 举报
回复
可是,大家都知道 base64 存储,远远没有bin存储来的有效率,
mysql不能存放 binary吗
dcross 2002-09-08
  • 打赏
  • 举报
回复
我是说以上那个方法记入数据库中和导出数据库都用到了文件操作,肯定在效率上不高,有没有其他方法啊?
anziqi 2002-09-07
  • 打赏
  • 举报
回复
关注新的方法.
anziqi 2002-09-07
  • 打赏
  • 举报
回复
to:叉叉
人是活的.不是要把批量的代码也写出给你放在眼前吧.
dcross 2002-09-06
  • 打赏
  • 举报
回复
这样的话,如果图片很多,对数据库的备份上会不会有影响?
bombshell 2002-09-06
  • 打赏
  • 举报
回复
本来还有存储和访问该数据库的程序,由于有帖子长度限制,没有帖。分别为store.php3和access.php3
bombshell 2002-09-06
  • 打赏
  • 举报
回复
1. 进入MySQL控制器
  2. 输入命令"create database binary_data;"
  3. 输入命令"use binary_data;"

  输入如下命令:

  "CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));" (不能断行)

  如果没有意外,数据库 和 表 应该建立好了。
如果你想储存大于1MB的文件,你必须对你的程序、PHP设置、SQL设置进行许多修改。

  下面几条也许可以帮助你储存小于24MB的文件:

  1) 修改 store.php3,将 MAX_FILE_SIZE 的值改成 24000000。

  2) 修改你的PHP设置,在一般情况下,PHP只允许小于2MB的文件,你必须将max_filesize(在php.ini中)的值改成24000000

  3) 去掉MYSQL的数据包大小限制,在一般情况下 MYSQL 小于1 MB的数据包。

  4) 你必须用以下参数重启你的MYSQL :/usr/local/bin/safe_MySQLd -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M

  5) 如果仍然出错:可能是超时错误,如果你通过一个很慢的连接来储存一个很大的文件,PHP缺省的时间限制为30秒。你可以将max_execution_time(在php.ini中)的值改为-1
dcross 2002-09-06
  • 打赏
  • 举报
回复
这样是不是很慢啊,要一次读和写的过程?
anziqi 2002-09-06
  • 打赏
  • 举报
回复
给你我整理的一段代码你只要把变量插入数据库中就可以了.
我用的是php不知道合不合你的味口.
<?php
//$contents就是从数据库读出的字符串

//-----------读取
$filename = "F:/mm/M23406.jpg";//这里是你的文件可不是我的.呵呵.
$fd = fopen ($filename, "r");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
//将$contents存入数据库中即可


//----------输出
//从数据库读出数据赋给$contents
$filename = "aaa1.jpg";
$fd = fopen ($filename, "w");
fwrite($fd,$contents);
fclose ($fd);

?>
<IMG SRC="aaa1.jpg" WIDTH="696" HEIGHT="900" BORDER=0 ALT="">
phpteam 2002-09-03
  • 打赏
  • 举报
回复
除了楼上所说的之外,还要设置那个字段为blob格式
_Shakespeare 2002-09-03
  • 打赏
  • 举报
回复
当然可以
用fread读取,然后用base64_encode()加密,再插入数据库,显示的时候用
$string=base64_decode()解密再用echo $string;
dejoy 2002-09-03
  • 打赏
  • 举报
回复
可以
shuixin13 2002-09-03
  • 打赏
  • 举报
回复


当然可以的,

最好要用LONGBLOB,

这样在保存数据时会快一点

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧