以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教,如何字符串转换成字节? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10318) |
-- 作者:baoxyang -- 发布时间:2011/5/30 16:45:00 -- 请教,如何字符串转换成字节? SQL图片列是image类型,存放照片二进制内容“0xFFD8FFE000104A46494600010100000100010000FFDB0043000302020302020303030304030304050805050404050A070706080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F171816141812141514FFDB00430103040405040509050509140D0B0D14141414141414141414141414141414141414”
Dim imageByte() As Byte = Tables("卸船货损管理_Table1").Current("照片") ‘原来照片列是image类型的,现改成了text类型了 Dim ms As New IO.MemoryStream(imageByte) \'将字节数组转换为二进制流
请问以上代码应如何实现呢?谢谢指教。
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/30 17:03:00 -- Dim bt1 As Byte() = {&H0, &H12, &H34, &H56, &HAA, &H55, &HFF} Dim s As String = Convert.ToBase64String (bt1) Dim bt2 As Byte() = Convert.FromBase64String(s) For i As Integer = 0 To bt1.length -1 If bt1(i) <> bt2(i) Then Return "false" End If Next Return "true" |
-- 作者:baoxyang -- 发布时间:2011/5/30 17:04:00 -- 请教下,是否把图片以二进制存储在表中image类型列中,在查询此表数据时反映是否很慢? |
-- 作者:狐狸爸爸 -- 发布时间:2011/5/30 17:04:00 -- 看2楼。 |
-- 作者:hhbb -- 发布时间:2011/5/30 17:16:00 -- 晕,神马啊? |
-- 作者:baoxyang -- 发布时间:2011/5/30 17:22:00 -- 以下是引用狐狸爸爸在2011-5-30 17:03:00的发言:
Dim bt1 As Byte() = {&H0, &H12, &H34, &H56, &HAA, &H55, &HFF} Dim s As String = Convert.ToBase64String (bt1) Dim bt2 As Byte() = Convert.FromBase64String(s) For i As Integer = 0 To bt1.length -1 If bt1(i) <> bt2(i) Then Return "false" End If Next Return "true" 不太明白。 但这样不行。 dim s as stirng = Tables("卸船货损管理_Table1").Current("照片") \'是text类型的二进制。 Dim imageByte() As Byte = Convert.FromBase64String(s) Dim ms As New IO.MemoryStream(imageByte) \'将字节数组转换为二进制流 提示字符组无效长度。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/5/30 17:29:00 -- 图片太大,字符数组太长? |
-- 作者:狐狸爸爸 -- 发布时间:2011/5/30 17:50:00 -- 我这个通过测试的:
Dim fs As New IO.FileStream("c:\\001.gif" , IO.FileMode.Open , IO.FileAccess.Read) \'用文件流打开图片 |
-- 作者:baoxyang -- 发布时间:2011/5/31 11:18:00 -- 老大,没有明白我的意思。 Dim imageByte() As Byte = Tables("卸船货损管理_Table1").Current(\'照片\') ’这个列是image类型,已存放的是二进制方式。我把这个二进制的内容保存到一个*。txt文件中。 如何实现等效的代码?谢谢!!
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/31 11:40:00 -- Dim bt1() as Byte= Tables("卸船货损管理_Table1").Current(\'照片\') Filesys.WriteAlltext(文件名,Convert.ToBase64String (bt1)) Dim bt2 As Byte() = Convert.FromBase64String(Filesys.ReadAllText(文件名))
|