Memory stream is not expandable

发现项目有一个地方在做图片缩放剪切的一个操作中。碰到有一些特殊的图片会报

Memory stream is not expandable 的错误

跟踪的时候发现是 由方法 originalStream.SetLength()引起的。

某些情况下原图片的长度会小于新的图片长度 (size还比原来小的情况下,很特殊的图片。)

var originalStream = new MemoryStream(ProviderManager.FileStorage.LoadFile(OriginalPath)))

变成
var originalStream = new MemoryStream()
var buffer = ProviderManager.FileStorage.LoadFile(OriginalPath);
originalStream.Write(buffer,0,buffer.Length);
可解决。
上一篇:Struts2运行流程分析


下一篇:MapReduce运行流程分析