日期:2014-05-18  浏览次数:20463 次

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

------解决方案--------------------
以下是将图片转化成二进制,其他的应该很好实现的,你参考一下
{
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;
}
------解决方案--------------------
用2进制流
------解决方案--------------------
字段定义为image类型,读取二进制文件到数据库中,则是byte[],直接赋值存储就可以了
------解决方案--------------------
C# code
 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