//打开文件
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "图片文件(*.jpg;*.bmp;*.png;*.gif)|*.jpg;*.bmp;*.png;*.gif";
if (dlg.ShowDialog() == DialogResult.OK)
{
FileInfo fileInfo = new FileInfo(dlg.FileName);
byte[] buffer = new byte[fileInfo.Length];
//using
FileStream stream = fileInfo.OpenRead(); stream.Read(buffer, 0, buffer.Length);是不是这样写不对啊?
解决方案 »
- 菜鳥向大哥們請教遞歸方法
- 超级难题! RTF可以分栏吗?
- 通过JavaScript脚本调用dos命令
- C#中能不能对某线程中执行的存储过程进行控制呢?停了线程,该线程的入口方法中执行的存储过程却停止不了?
- 问个TCP的问题
- Ienumerator和IEnumerable有什么区别?各起什么作用?
- 请问Visual Studio Projects下VS自动生成目录VSMacros71是干什么的? TKS!
- c#设置提问。
- c#datagridview绑定datatable常见问题汇总及解答
- 谁来救救这个迷途的TabControl
- .net的简单算法
- C# WinForm程序如何把数据按照规定大于设置也许的字数后分成两段存储到数据库
{
Stream s= openFileDialog1.OpenFile();
byte[] by = new byte[s.Length];
s.Read(by, 0, by.Length);
}
{
Stream s= openFileDialog1.OpenFile();
byte[] by = new byte[s.Length];
s.Read(by, 0, by.Length);
}
BinaryReader br = new BinaryReader(fs);
byte[] bytes = br.ReadBytes((int)fs.Length);
private SqlCommand cmd=new SqlCommand();1、插入数据库:
//初始化Connection对象
conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"];
conn.Open();
//初始化Command对象
cmd.Connection=conn;
cmd.CommandText="Insert into PICS(ID,PIC) values(1,@pic)";
//定义二进制数组
byte[] imagebyte=new byte[1048576];//大小为1MB
//定义文件流
FileStream imageStream=new FileStream(Server.MapPath("01.gif"),FileMode.Open,FileAccess.Read);
//通过文件流读取图片
imageStream.Read(imagebyte,0,1048576);
//给CommondText添加属性
cmd.Parameters.Add("@pic",SqlDbType.Image,(int)(imageStream.Length));
cmd.Parameters["@pic"].Value=imagebyte;
cmd.ExecuteNonQuery();
conn.Close();
public byte[] ConvertImage(Image image)
{
FileStream fs=new FileStream("imagetemp",FileMode.Create,FileAccess.Write,FileShare.None);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,(object)image);
fs.Close();
fs=new FileStream("imagetemp",FileMode.Open,FileAccess.Read,FileShare.None);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes,0,(int)fs.Length);
fs.Close();
return bytes;
}