Foxtable(狐表)用户栏目专家坐堂 → [求助]byte[]数组问题


  共有1800人关注过本帖树形打印复制链接

主题:[求助]byte[]数组问题

帅哥哟,离线,有人找我吗?
pcxjxjhkw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
[求助]byte[]数组问题  发帖心情 Post By:2017/11/3 22:13:00 [只看该作者]

 如何实现:
将一文件转为byte[]数组,将文件名及大小加入到byte[]数组中。
再将byte[]数组转回文件

谢谢



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109681 积分:558103 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/3 22:34:00 [只看该作者]

参考:

Dim fs As New IO.FileStream("f:\123.xls" , IO.FileMode.Open , IO.FileAccess.Read)  
Dim br As New IO.BinaryReader(fs) 
Dim bs() As Byte = br.ReadBytes(fs.Length)   
Dim ImageString As String = Convert.ToBase64String(bs) 
Output.show(ImageString)

Dim ziByte() As Byte = Convert.FromBase64String(ImageString)
Dim ms As New IO.FileStream("f:\321.xls", IO.FileMode.Create)
ms.Write(ziByte, 0,ziByte.length)
ms.close

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/11/4 8:38:00 [只看该作者]

关键问题是如何将文件信息(文件名,大小)打包一同写入二进制数组中
如:待写入文件 "f:\123.xls" ,文件大小 3334
转为二进制: 文件名+3334+文件本身
目的是想实现:自定义编码规则,收到二进制后再按该规则转为相应的文件。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109681 积分:558103 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/4 9:30:00 [只看该作者]

Dim fs As New IO.FileStream("f:\123.xls" , IO.FileMode.Open , IO.FileAccess.Read)  
Dim br As New IO.BinaryReader(fs) 
Dim bs() As Byte = br.ReadBytes(fs.Length)   
Dim str As String ="这是文件的附加信息"
Dim bstr() As Byte = Encoding.Default.GetBytes(str)
Dim lst As new List(of Byte)
Dim bl As Byte = bstr.length
lst.Add(bl )
lst.AddRange(bstr)
lst.AddRange(bs)
Dim ImageString As String = Convert.ToBase64String(lst.ToArray) 
Output.show(ImageString)

Dim ziByte() As Byte = Convert.FromBase64String(ImageString)
Dim bl2 As Integer = ziByte(0)
Dim filebyte(bl2) As Byte
For i As Integer = 1 To bl2
    filebyte(i-1) = ziByte(i)
Next
Dim file As String = Encoding.Default.GetString(filebyte)
Output.Show(file)
Dim ms As New IO.FileStream("f:\32111.xls", IO.FileMode.Create)
ms.Write(ziByte, bl2+1,ziByte.length - bl2 - 1)
ms.close

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/11/4 11:01:00 [只看该作者]

 谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/11/6 8:56:00 [只看该作者]

跟问:对于大文件传输会报错,如何分片传输?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 9:58:00 [只看该作者]

1、你用什么方法传输文件的?

 

2、具体报什么错?例子发上来。

 

 


 回到顶部