发现项目有一个地方在做图片缩放剪切的一个操作中。碰到有一些特殊的图片会报
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);
可解决。