c#

位置:IT落伍者 >> c# >> 浏览文章

C#中文件和byte[]互换问题


发布日期:2019年04月15日
 
C#中文件和byte[]互换问题
【问题】如何将图片和声音转化成byte[]并通过webservice进行传输?

如何将webservice传输过来的byte[]转化成我们想要的文件?

(一)文件转化为byte[]

方法一使用MemoryStream(MemoryStream的数据来自内存中缓沖区)

SystemIOMemoryStream m = new SystemIOMemoryStream();

SystemDrawingBitmap bp = new SystemDrawingBitmap(pname );

bpSave(m SystemDrawingImagingImageFormatJpeg);//将此图像以指定的格式保存到指定的流中

byte[] b = mGetBuffer();//从内存缓沖区中读取

方法二使用FileStream(FileStream对象的数据来自文件)

FileStream stream = new FileInfo(path)OpenRead();

Byte[] buffer = new Byte[streamLength];

//从流中读取字节块并将该数据写入给定缓沖区buffer中

streamRead(buffer ConvertToInt(streamLength));

(二)将byte[]转化成文件

WebReferenceMyService obj = new WebReferenceMyService();

Byte[] b = objdownWav ();//某条记录的pid返回这条记录中的图片的byte[]

MemoryStream m = new MemoryStream(b);

string file =stringFormat(@{}\ewav

PathGetDirectoryName(AssemblyGetExecutingAssembly()GetName()CodeBase));

//将下载下来的文件放在当前目录下保存为ewav当然如果是图片可以保存为ajpg

FileStream fs = new FileStream(file FileModeOpenOrCreate);

mWriteTo(fs);

mClose();

fsClose();

m = null;

fs = null;               

上一篇:.NET平台下的Eclipse生不逢时

下一篇:C#的强类型解释