本人想把本地文件都存入MySql数据库中,如图片,office文件,还有大文件比如视频。在网上搜索了很多,都说用文件流的方式,我能实现,代码:stringsql="insertintotest_file.file_sys...
本人想把本地文件都存入MySql数据库中,如图片,office文件,还有大文件比如视频。在网上搜索了很多,都说用文件流的方式,我能实现,代码:
string sql = "insert into test_file.file_system (picture) values (?a) ";
MySqlCommand MyCommand = new MySqlCommand(sql, MyConnection);
MyCommand.CommandText = sql;
FileStream mystream = new FileStream(str_file, FileMode.Open, FileAccess.Read);
long len = mystream.Length;
MyCommand.Parameters.Add("?a", MySqlDbType.Blob, (int)len, "picture");
MyCommand.Parameters["?a"].Direction = System.Data.ParameterDirection.Input;
byte[] box = new byte[len];
mystream.Read(box, 0, (int)len);
MyCommand.Parameters["?a"].Value = box;
//更新
MyCommand.ExecuteNonQuery();
mystream.Close();
但是,我如果想存大文件,必须把MySql的默认Max Package Size = 1M 改了,改成想要的最大文件,但是如果我有一个10G的文件,仍然用这种方法,把Max Package Size 改成10G,那服务器会崩溃的。。。。。。
问题:有没有办法我不改mysql默认的Max Package Size = 1M ,用流把数据分块,每次1M,这样去插入数据库,跪求思路和代码!
我现在就有30分,如果有思路的,之后全奉上~
展开