首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

这两种数组保存的数据类型有什么不同解决方法

2012-01-15 
这两种数组保存的数据类型有什么不同我想做一个截图并发送到服务器的程序,最开始的方法是将截图保存在本地

这两种数组保存的数据类型有什么不同
我想做一个截图并发送到服务器的程序,最开始的方法是将截图保存在本地,然后读取到数组,再发送,这样没有问题,但是速度太慢.现想在截图后直接保存到数组,再发送,服务器可以收到数据,打开文件时提示"无效的位图文件或不支持文件的格式",请教各位大大,这两种数组保存的"数据类型"有什么不同,应该怎样处理.

‘==============================
问题找到了见下图:


一共多出58个字节,删除多出的字节图片可以正常打开了

为什么会多出这几十个字节呢?
‘==============================

代码太长,贴一部份

VB code
    Dim fileNum As Integer    Dim btArr() As Byte    '读取文件    fileNum = FreeFile    Open filaPath & FileName For Binary Access Read As #fileNum    ReDim btArr(LOF(fileNum))    Get #fileNum, , btArr()    Close #fileNum    ''''''    '    ''''''    发送 btArr 


VB code
    Dim B() As Byte    Dim tmpPicture    Set tmpPicture = Screenshots(0, 0, 0, 0, 100, 100)    'SavePicture tmpPicture, "c:\111.bmp"    Dim PBag As New PropertyBag    Dim B() As Byte    PBag.WriteProperty "Picture", tmpPicture '将要保存的数值写入 PropertyBag 类对象。    '读取tmpPicture 图片并写到 Pbag 容器中    B = PBag.Contents '获取容器Byte 到 B() 数组中    Set PBag = Nothing    ''''''    '    ''''''    发送 B 


[解决办法]

如果每次都多出 58 字节,倒有一个偷懒的方法可以一试:


B = PBag.Contents '获取容器Byte 到 B() 数组中

Redim Preserve B(Ubound(B) - 58)
[解决办法]
实际数据的起始位置可用以下公式算出: 44+属性名的字节长度。比如 44+lenb("picture"),从这个位置开始发送

热点排行