我正在尝试弄清楚如何使用ImageResizer(http://imageresizing.net/)转换图像。
我尝试过这样的事情。
Stream s = WebRequest.Create("http://example.com/resources/gfx/unnamed.webp").GetResponse().GetResponseStream();
ImageBuilder.Current.Build(s, "~/resources/gfx/photo3.png", new ResizeSettings("format=png"));
但我刚收到错误
“文件可能已损坏,为空,或者可能包含单个维度大于65,535像素的PNG图像。”
当我做的时候
using (Stream output = File.OpenWrite(Server.MapPath("~/resources/gfx/test.webp")))
using (Stream input = WebRequest.Create("http:///example.com/resources/gfx/unnamed.webp").GetResponse().GetResponseStream()) {
input.CopyTo(output);
}
ImageBuilder.Current.Build("~/resources/gfx/test.webp", "~/resources/gfx/photo3.png",
new ResizeSettings("format=png"));
它工作正常,我在这里错过了一些东西吗?
答案 0 :(得分:0)
“输出”可能尚未刷新到磁盘。 .NET 4+并不能保证文件实际写入磁盘只是因为您处理了流。
我假设你安装了ImageResizer.Plugins.WebP插件?