呵呵,
Java的例子就没有了,就说说基本注意点吧,在数据库中存放图像等二进制文件,
最好用 LongBlob 的列类型,
这样存储速度会快点如果你的图像文件大于了1M,你还需要修改MySQL一些环境属性
在你的My.ini(WIN32系统),my.cnf(Linux系统)文件中加入
[mysqld]
set-variable = max_allowed_packet=8M
Java的例子就没有了,就说说基本注意点吧,在数据库中存放图像等二进制文件,
最好用 LongBlob 的列类型,
这样存储速度会快点如果你的图像文件大于了1M,你还需要修改MySQL一些环境属性
在你的My.ini(WIN32系统),my.cnf(Linux系统)文件中加入
[mysqld]
set-variable = max_allowed_packet=8M
有PHP的
// 如果提交了表单,代码将被执行:
if ($submit) {
// 连接到数据库
// (你可能需要调整主机名,用户名和密码)
MYSQL_CONNECT( "localhost", "root", "password");
mysql_select_db( "binary_data");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY( "INSERT INTO binary_data (description,bin_data,filename,filesize,filetype)
[接上一行:] VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
print "
This file has the following Database ID: $id";
MYSQL_CLOSE();
} else {
// 否则显示储存新数据的表单
?> File to upload/store in database:
}
?> 如果你执行了这个程序,你将会看见一个简单的Html表单,单击“浏览”选择一个文件,然后单击提交。
当文件上传至web服务器之后,程序将会告诉你刚刚上传的文件的ID,记住这个ID,待会要用的。
一个怎样访问文件的例子程序 你可以通过这个程序访问你刚才储存的文件 // getdata.php3 - by Florian Dittmer
// 调用方法: getdata.php3?id=
if($id) {
// 你可能需要调整主机名,用户名和密码:
@MYSQL_CONNECT( "localhost", "root", "password");
@mysql_select_db( "binary_data");
$query = "select bin_data,filetype from binary_data where id=$id";
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0, "bin_data");
$type = @MYSQL_RESULT($result,0, "filetype");
Header( "Content-type: $type");
echo $data;
};
?> 程序必须知道要访问那个文件, 你必须将ID作为一个参数。
例如: 一个文件在数据库中的ID为2. 你可以这样调用它:
getdata.php3?id=2
如果你将图片储存在数据库里, 你可以向调用图片一样调用它。
Example: 一个图片文件在数据库中的ID为3. 你可以这样调用它: