日期:2014-05-17  浏览次数:21199 次

Stream 怎么操作呢?一直出错


            string file= @"C:\Users\Administrator\Desktop\明星证件照\陈好.jpg";
            Stream stream = Stream.Null;
            using (var fs = File.Open(file, FileMode.Open))
            {
                stream = fs;
            } 

            uploadPartRequest.InputStream = stream;
            ossClient.UploadPart(uploadPartRequest); //出错:Cannot access a closed file

没接触过文件流,想问这应该怎么操作?

------解决方案--------------------
打开完 要关闭的
------解决方案--------------------
Cannot access a closed file :这个你猜也猜的到吧.
   using (var fs = File.Open(file, FileMode.Open))
            {
                stream = fs;
            } 
你把流关闭了,所以后面报错了. 
------解决方案--------------------
StreamReader sr = new StreamReader(file);  File.Open  和 Stream是不一样的一个是打开文件 一个是打开文件流,一个是真实打开文件 一个并没有打开文件  要读取图片的文件流的话可以这么写
FileStream fs = null;byte[] buffer = null;try{    if (File.Exists(file)) //图片文件的全路径字符串    {       fs = new FileStream(file, FileMode.Open);       buffer = new byte[fs.Length];       fs.Read(buffer, 0, int.Parse(fs.Length.ToString()));       fs.Close();       fs.Dispose();    }}catch{     fs.Close();     fs.Dispose();}return buffer;//图片文件的流