十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
FileStream fs = new FileStream(要2进制的文件地址, FileMode.Open, FileAccess.Read);
成都创新互联公司专注骨干网络服务器租用十载,服务更有保障!服务器租用,西信服务器托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。
BinaryReader br = new BinaryReader(fs);
Byte[] tt = new byte[fs.Length];
for (int i = 0; i fs.Length; i++)
{
br.Read(tt, 0, Convert.ToInt32(fs.Length));
}
string ss = Convert.ToBase64String(tt);
ss就是2进制文件流了 可以直接写入到mysql库,写入数据库不用我写了把。
一般很少将二进制的数据,存到数据库里一般是加二年制的数据转换成指定的文件保存在,嗯文件目录里然后再,数据库里存储对应的存储地址,或者是,蒋,数据转换成其他类型存入到数据库。
以PHP脚本为例。PHP一般只支持小于2M的文件,假如要存取大于2M的文件,那就要进系统方面的设置了。具体操作如下:
首先创建测试表testtable
CREATE TABLE testtable ( id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,filename CHAR(255),data LONGBLOB );
将文件存入表中使用如下PHP代码
?php
mysql_connect( "localhost", "root", "password"); //连接数据库
mysql_select_db( "database"); //选定数据库
$filename="" //这里填入二进制文件名
$data = addslashes(fread(fopen($filename, "r"), filesize($filename)));//打开文件并规范化数据存入变量$data中
$result=mysql_query( "INSERT INTO testtable (filename,data) VALUES ('$filename','$data')");//数据插入到数据库test表中
mysql_close();
?
从表中取回文件,使用如下PHP代码
?php
if($id) {
mysql_connect( "localhost", "root", "password");
mysql_select_db( "database");
$filename="" //这里填入二进制文件名
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
$data = mysql_result($result,0, "data");
?