如何将图片和声音转化成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[]互换问题

from:http://www.cnblogs.com/qiuweiguo/archive/2011/08/05/2128690.html

C#中文件和byte[]互换问题的更多相关文章

  1. JAVA中文件与Byte数组相互转换的方法

    JAVA中文件与Byte数组相互转换的方法,如下: public class FileUtil { //将文件转换成Byte数组 public static byte[] getBytesByFile ...

  2. 数据流-------C#文件和byte[]互换问题

    今天使用FileInfo.CopyTo的时候出现问题,当然并不是使用的问题,而是一些细节. 不过报错的时候,一度让我认为,copyto这个方法,给的参数必须是文件夹,而不是文件.所以就有了下面的查找 ...

  3. c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换

    字节数组byte[]与图片image之间的转化 字节数组转换成图片 public static Image byte2img(byte[] buffer) { MemoryStream ms = ne ...

  4. java中文件的I/O操作

    java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...

  5. jsp\struts1.2\struts2 中文件上传(转)

    jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...

  6. .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常)

    .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件, ...

  7. 2017-7-19-每日博客-关于Linux下的CentOS中文件夹基本操作命令.doc

    CentOS中文件夹基本操作命令 文件(夹)查看类命令 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色来区分文件类别.蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件 ...

  8. Win8 Metro中文件读写删除与复制操作

    Win8Metro中,我们不能在向以前那样调用WIN32的API函数来进行文件操作,因此,下面就来介绍一下Win8 Metro中文件的读写操作. 1 Windows 8 Metro Style App ...

  9. C# 之 FTPserver中文件上传与下载(二)

            通过上一篇博客<C# 之 FTPserver中文件上传与下载(一)>,我们已经创建好了一个FTPserver,而且该server须要username和password的验证 ...

随机推荐

  1. EF性能

    批量操作时,加上这句:Context.Configuration.AutoDetectChangesEnabled = false; 主要是取消跟踪,缩短对象添加到上下文的时间(非执行SQL的时间)

  2. c# 隐藏Tab控件的标签

    public void HideTabcontrolLabel(TabControl tabControl1) { tabControl1.Appearance = TabAppearance.Fla ...

  3. web.xml文件书写规则

    在为class文件写xml配置文件的书写规则,需要书写的东西如下 <servlet> <servlet-name></servlet-name> <servl ...

  4. centos gnome桌面放大

    我不知道gnome 为什么要这么做.但是真的有效: gsettings set org.gnome.desktop.interface scaling-factor # 放大2倍

  5. js正则大扫除

    一:exec匹配不到后返回的是null reg = /c{2,}/; str='cainiao'; execReg(reg,str); 结果返回null,c{2,}表示2个以上的c,而cainiao中 ...

  6. AngularJS 常用模块书写建议

    本文是依据 Angular Style Guide 对 Angular 常用模块书写建议的翻译和总结,仅供参考. IIFE 使用 立即执行函数表达式(Immediately Invoked Funct ...

  7. AngularJS实现鼠标右键事件

    常规javascript鼠标右键直接在标签上加contextmenu="alert('a')"即可,现在angular通过directive来定义一个右键指令. app.direc ...

  8. Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入

    一.问题描写叙述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存载入,接下来我们再介绍一下afinal 框架的使用. Afinal 是一个android的http框架.sql ...

  9. union共用体的对齐

    union DATE { char a; ]; double b; }; DATE max; cout<< sizeof(max) << endl; 这个问题很好回答,并且我把 ...

  10. 【Android】12.6 利用Intent实现记事本功能(NotePad)

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 这个例子演示如何实现一个简单的记事本功能. 该例子提前使用了后面章节将要介绍的SQLLite数据库. 二.示例-c ...