【问题】如何将图片和声音转化成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;