如何将图片和声音转化成byte[],并通过webservice进行传输?
如何将webservice传输过来的byte[],转化成我们想要的文件?
(一)文件转化为byte[]
方法一:使用MemoryStream(MemoryStream的数据来自内存中缓冲区)
System.IO.MemoryStream m = new System.IO.MemoryStream();
System.Drawing.Bitmap bp = new System.Drawing.Bitmap(pname );
bp.Save(m, System.Drawing.Imaging.ImageFormat.Jpeg);//将此图像以指定的格式保存到指定的流中。
byte[] b = m.GetBuffer();//从内存缓冲区中读取
方法二:使用FileStream(FileStream对象的数据来自文件)
FileStream stream = new FileInfo(path).OpenRead();
Byte[] buffer = new Byte[stream.Length];
//从流中读取字节块并将该数据写入给定缓冲区buffer中
stream.Read(buffer, 0, Convert.ToInt32(stream.Length));
(二)将byte[]转化成文件
WebReference.MyService obj = new WebReference.MyService();
Byte[] b = obj.downWav ("1001");//1001某条记录的pid,返回这条记录中的图片的byte[]
MemoryStream m = new MemoryStream(b);
string file =string.Format(@"{0}\e.wav",
Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));
//将下载下来的文件放在当前目录下,保存为e.wav;当然如果是图片,可以保存为a.jpg
FileStream fs = new FileStream(file, FileMode.OpenOrCreate);
m.WriteTo(fs);
m.Close();
fs.Close();
m = null;
fs = null;
C#中文件和byte[]互换问题
时间: 2024-08-17 13:05:15
C#中文件和byte[]互换问题的相关文章
java中文件长度的转换
中文|转换 java中文件长度的转换 我们使用java.io.File对象创建一个具体的文件句柄,然后就可以通过这个对象 获取该文件的一些信息了, 但是在我们得到文件长度的时候,返回的是一个long类型的整数, 单位是byte,也就是字节.有时候当文件过大的时候,我们就需要转换成Mb或者 Gb.下面写了个函数实现这个功能: File objFile = new File("c:\\cqq.rar");long filesize=objFile.getLength(); static S
CentOS中文件夹基本操作命令的讲解
CentOS中文件夹基本操作命令的讲解 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色来区分文件类别.蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件. -a---显示所有内容,包括隐藏文件 说明:在Linux系统中,以"."开头的就是隐藏文件或隐藏目录. -l---以长格式(内容更详细)显示文件或目录的详细信息. 说明:ls -l命令可以简写成ll, 输出的信息共分为7组: 文件类别和文件权限.链接数或子目录个数.文件所有者.
Android手机内存中文件的读写方法小结
Android手机内存中文件的读写方法小结 这篇文章主要介绍了Android手机内存中文件的读写方法,实例总结了Android针对文件读写操作的相关技巧,非常具有实用价值,需要的朋友可以参考: 如何对手机内存中的文件数据进行读写呢? Context提供了领个方法来打开该应用程序的数据文件夹中的文件I/O流,具体如下: ? 1 FileInputStream openFileInput(String name) 打开应用程序的数据文件夹下的name文件对应的数据流 ? 1 Fi
界面-web程序开发中文件的下载
问题描述 web程序开发中文件的下载 在登录得主界面增加下载的链接,可以下载发布到服务器上的文件.使用的框架是spring,Struts2,ibatis. 解决方案 如果你不愿暴露文件存储路径,就用io流的方式,若果无所谓,直接把路径放在超链接上即可. 解决方案二: BufferedInputStream br = new BufferedInputStream(new FileInputStream(f)); byte[] buf = new byte[1024]; int len = 0;
Android中文件读写(输入流和输出流)操作小结_Android
1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在
如何用C# 在内存中将一个string 转换为一个 txt文件的byte[]
问题描述 如何用C#在内存中将一个string转换为一个txt文件的byte[]注意是txt文件的byte[],不是将string直接转换成byte[] 解决方案 解决方案二:txt文件的byte[]?不就是编码的问题吗?byte[]还分txt什么的?解决方案三:txt里面的byte是什么意思~~~不都是二进制么解决方案四:说你的需求...要干什么解决方案五:你什么意思不是一样么staticvoidtofile(stringinput){byte[]barr=System.Text.Encodi
Android中文件的压缩和解压缩实例代码
使用场景 当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样会造成打包后的apk整体过大,此时就需要将放入的文件进行压缩.又如当我们需要从服务器中下载文件时,如果下载源文件耗时又消耗流量,较大文件需要压缩,可以使得传输效率大大提高.下面我们就学习下基本的文件压缩和解压缩.Java中提供了压缩和解压缩的输入输出流 public static void zip(String src,String dest) throwsIOException { //定义压缩输出流 Zip
Android中文件读写(输入流和输出流)操作小结
1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在
想请教指纹图谱的建立方法,且如何把GCMS中文件转化为AIA格式?
问题描述 想请教指纹图谱的建立方法,且如何把GCMS中文件转化为AIA格式? 查资料查到可以用指纹图谱相似度分析软件进行分析,但不知道如何把数据导入,文件类型为AIA格式,,恳请赐教,谢谢!! 解决方案 http://www.bbioo.com/instrument/54-1334932-1.html