猿问

Go + Appengine Blobstore,调整图片上传大小

我正在努力让自己了解Go + Appengine。我一直在使用Blobstore来存储用户图像上传。无论如何,我可以从BlobStore下载图像并进行操作吗?

还是有其他解决方案?

图像LIB是有点限制。我也想将其他格式转换为jpeg。


哔哔one
浏览 209回答 2
2回答

aluckdog

是的,您可以从blobstore中拉出文件并利用Go 1随附的图像包,包括image / draw和image / jpeg。请参阅Go image包以获取概述和image / draw博客文章。假设您已经拥有要处理的图像的BlobInfo,则可以通过将嵌入式BlobKey传递给blobstore.NewReader来获得其原始数据,从而为您提供io.Reader对象。将其传递给png.Decode以获得image.Image。进行所需的任何操作,然后将其保存回blobstore,从blobstore获取Writer.Create并将其交给jpeg.Encode。最后,调用blobstore.Close和.Key以获取新的BlobKey来保存在数据存储区中。如果您想进行更复杂的操作,可以使用几个纯Go库来与您的应用程序一起上传并与image.Image一起使用。例如,请参阅graphics-go和Go中编写的Libraries的“ Images and Graphics”部分。
随时随地看视频慕课网APP

相关分类

Go
我要回答