数据流-------C#文件和byte[]互换问题
今天使用FileInfo.CopyTo的时候出现问题,当然并不是使用的问题,而是一些细节。
不过报错的时候,一度让我认为,copyto这个方法,给的参数必须是文件夹,而不是文件。所以就有了下面的查找
http://blog.csdn.net/foreverling/article/details/37659183
从上面直接拉过来的,暂时先就这么先放着了,之后再整理
如何将图片和声音转化成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[]互换问题的更多相关文章
- C#中文件和byte[]互换问题
如何将图片和声音转化成byte[],并通过webservice进行传输? 如何将webservice传输过来的byte[],转化成我们想要的文件? (一)文件转化为byte[] 方法 ...
- C#读取文件为byte[]
C#读取文件为byte[] 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// 读取程序生成byte /// </sum ...
- Java 文件和byte数组转换
/** * 获得指定文件的byte数组 */ private byte[] getBytes(String filePath){ byte[] buffer = null; try { File fi ...
- JAVA中文件与Byte数组相互转换的方法
JAVA中文件与Byte数组相互转换的方法,如下: public class FileUtil { //将文件转换成Byte数组 public static byte[] getBytesByFile ...
- C#:文件、byte[]、Stream相互转换
一.byte[] 和 Stream /// <summary> /// byte[]转换成Stream /// </summary> /// <param name=&q ...
- HDFS数据流-剖析文件读取及写入
HDFS数据流-剖析文件读取及写入 文件读取 1. 客户端通过调用FileSystem对象的open方法来打开希望读取的文件,对于HDFS来说,这个对象是分布式文件系统的一个实例.2. Distrib ...
- C# 文件、byte相互转换
文件转byte数组: /// <summary> /// 将文件转换为byte数组 /// </summary> /// <param name="path&q ...
- java 文件和byte 互转
/** * 获得指定文件的byte数组 */ private byte[] getBytes(String filePath){ byte[] buffer = null; try { File fi ...
- 将图片文件以byte的形式从导数据库中
byte[] FileByteArray = new byte[FileLength]; //图象文件临时储存Byte数组 //Stream StreamObject ...
随机推荐
- Mysql 8.0.11版本,安装成功,使用Navicat连接失败。
Note:本文只针对mac!! 问题 安装mysql成功之后,想自己弄个数据库试试,但是报错.并不是错误代号,而是一段代码: Authentication plugin 'caching_sha2_p ...
- Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器
目录(?)[-] 一VisualVM是什么 二如何获取VisualVM 三获取那个版本 四VisualVM能做什么 显示JAVA应用程序配置和运行时环境 显示本地和远程JAVA应用程序运行状态 监控应 ...
- ASP.net MVC 文件下载的几种方法
ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...
- JavaScript中String和JSON互换
最简答的方式是: JSON.parse(obj) 将json对象解析为json字符串 JSON.stringify(str) 将json字符串转为json对象. 需要注意的是早期的IE浏览器是没有JS ...
- HTML5/CSS3实现五彩进度条应用
今天要介绍的是一款基于HTML5和CSS3的进度条应用,这款进度条是静态的,仅提供进度条的五彩外观.当然你可以在CSS中动态设置进度值来让其变得动态,一个很好的实现方式是利用jQuery动态改变CSS ...
- js设置随机切换背景图片
<script> var imgs =["http://images.cnblogs.com/cnblogs_com/xiaobo-Linux/1112236/o_2.jpg&q ...
- 腾讯大湘网某处csrf(city.hn.qq.com)可投诉刷留言
触发点: http://city.hn.qq.com http://city.hn.qq.com/auto/c=shop&m=bbs&id=668 POST /msgboard/mes ...
- cordova ios and ios8
ios8发布后,一些用cordova编写的app会碰到问题,总的来说,cordova官方称是完全支持ios8的,而且由于ios8推出的WKWebView存在问题并没能很好的解决(看原文),仍旧用了UI ...
- Vue slot简单理解
情形一: 子组件定义了具名的slot,父组件使用具名的slot,slot显示顺序为子组件定义slot的顺序 子组件: Vue.component('child',{ template:`<div ...
- 4 Flask 命令行模式
preface 在Django中我们可以使用python manage.py shell进入 shell下面调试,在flask下面我们需要安装第三方模块来进入shell模式,安装的模块为Flask-S ...