.net如何用二进制形式保存文件数据到数据库中?

嘴哥臭鼬 2009-03-09 09:47:15
.net如何用二进制形式保存文件数据到数据库中?
...全文
143 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaAlpha 2009-04-18
  • 打赏
  • 举报
回复
xue xi le
嘴哥臭鼬 2009-03-09
  • 打赏
  • 举报
回复
读取的时候怎么办呢?
Teng_s2000 2009-03-09
  • 打赏
  • 举报
回复
Mark
wanabe 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zgke 的回复:]
byte[] p_Data= ???; 你获取的二进数据

例如有个表XXX 是Image类型的

string _SqlCommand = "Insert Into XXX(MyImage) Value(@MyImage)";


OleDbCommand _Command = new OleDbCommand(_SqlCommand, SqlConn);
_Command.Parameters.Add("@MyImage" + p_ColumnName, OleDbType.VarBinary).Value = p_Data;
_Command.ExecuteNonQuery();

用Paramerters就…
[/Quote]
把你要存东西先读到byte[]里面,然后传个参到Paramerter,OK
zgke 2009-03-09
  • 打赏
  • 举报
回复
byte[] p_Data= ???; 你获取的二进数据

例如有个表XXX 是Image类型的

string _SqlCommand = "Insert Into XXX(MyImage) Value(@MyImage)";


OleDbCommand _Command = new OleDbCommand(_SqlCommand, SqlConn);
_Command.Parameters.Add("@MyImage" + p_ColumnName, OleDbType.VarBinary).Value = p_Data;
_Command.ExecuteNonQuery();

用Paramerters就可以解决了很简单的
cppfaq 2009-03-09
  • 打赏
  • 举报
回复
基本思路无非是用BinaryReader读取文件,然后写入DB。

http://www.linux-cn.com/html/program/aspnet/20070412/7006.html
用ASP.NET2.0在数据库中存储二进制文件
嘴哥臭鼬 2009-03-09
  • 打赏
  • 举报
回复
100分啊,现在我都问的没分了,能不能给个链接或是C#代码啊?
jinjazz 2009-03-09
  • 打赏
  • 举报
回复
用sql参数传入byte[]值 就可以了
空心兜兜 2009-03-09
  • 打赏
  • 举报
回复
 Dim intImageSize As Int64
Dim strImageType As String
Dim ImageStream As Stream

' Gets the Size of the Image
intImageSize = PersonImage.PostedFile.ContentLength

' Gets the Image Type
strImageType = PersonImage.PostedFile.ContentType

' Reads the Image
ImageStream = PersonImage.PostedFile.InputStream

Dim ImageContent(intImageSize) As Byte
Dim intStatus As Integer
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)

' Create Instance of Connection and Command Object
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim myCommand As New SqlCommand("sp_person_isp", myConnection)

' Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure

' Add Parameters to SPROC
Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)
prmPersonImage.Value = ImageContent
myCommand.Parameters.Add(prmPersonImage)

Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)
prmPersonImageType.Value = strImageType
myCommand.Parameters.Add(prmPersonImageType)

Try
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
Response.Write("New person successfully added!")
Catch SQLexc As SqlException
Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())
End Try


这个是典型的图片保存
  • 打赏
  • 举报
回复
字段定义为image类型,读取二进制文件到数据库中,则是byte[],直接赋值存储就可以了
wujinjian2008n 2009-03-09
  • 打赏
  • 举报
回复
用2进制流
xiaohe185 2009-03-09
  • 打赏
  • 举报
回复
以下是将图片转化成二进制,其他的应该很好实现的,你参考一下
{
byte[] BlobData = null;
Bitmap picture;
FileStream stream;
stream = new FileStream(strFileName, FileMode.Open, FileAccess.Read);
BlobData = new byte[stream.Length];
stream.Read(BlobData, 0, (int)stream.Length);
picture = new Bitmap(stream);
stream.Close();
return BlobData;
}

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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