小围脖

Try , Try , Never Say Die !

 

Stream文件流上传

FileStream文件上传用法:

FileStream fs = new FileStream(upFileName, FileMode.Open, FileAccess.Read, FileShare.Read);

BinaryReader bReader = new BinaryReader(fs);

byte[] postArray = bReader.ReadBytes((int)fs.Length);

Stream postStream = myWebClient.OpenWrite(saveFileName, "PUT");

if (postStream.CanWrite)

{ postStream.Write(postArray, 0, postArray.Length); }

postStream.Close();

当从客户端上传文件至服务器端时,会提示“未能找到路径的一部分”;

原因是,FileStream上传文件获取的文件路径是服务器端的路径,不能用于从客户端上传文件;FileStream多用于WinForm文件上传。

可以使用Stream代替FileStream类进行文件上传,

FileStream fs = new FileStream(upFileName, FileMode.Open, FileAccess.Read, FileShare.Read);

替换为

Stream fs = new StreamReader(upFileName);

Stream 允许远程数据流上传,本地到服务器,本地到本地都没有问题;FileStream 只支持本地数据流上传,所有会造成本地上传没有问题,到服务器时错误。

 MSDN介绍:

FileStream类             Stream类             StreamReader类

posted on 2011-07-14 17:16  小围脖  阅读(3357)  评论(0)    收藏  举报

导航