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
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;//图片文件的流
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;//图片文件的流
string file = @"C:\Users\Administrator\Desktop\明星证件照\陈好.jpg";
using (FileStream stream = new FileStream(file,FileMode.Open))
{
uploadPartRequest.InputStream = stream;
ossClient.UploadPart(uploadPartRequest);
}
晕...初学者一般都不会用 using的...你知道using是什么歌样子的么...不懂也用...
看我这个链接...
Using
using 是用于实现 IDispose 接口的...
var buffer= new Byte[409600];
stream = new MemoryStream();
using (var fs = File.Open(file, FileMode.Open))
{
var len =0 ;
while((len= fs.Read(buffer, 0, buffer.Length))>0)
stream.Write(buffer, 0, len);
}
Using作用域结束后,就会释放它定义的对象,所以关闭了
把 你的逻辑写在Using 作用域里面
大概改成这样试试
string file = @"C:\Users\Administrator\Desktop\明星证件照\陈好.jpg";
using (FileStream stream = new FileStream(file,FileMode.Open))
{
uploadPartRequest.InputStream = stream;
ossClient.UploadPart(uploadPartRequest);
}