我花了几天时间研究这个问题,我认为这是一个足够普遍的问题,这样可以让其他初学者受益。 我几乎没有想法如何解决它,并希望得到更有经验的人的指导。
https://developers.google.com/appengine/docs/go/gettingstarted/usingdatastore中的示例代码 创建一个模板并重定向到" / sign"按下提交按钮时。在" / sign",表单值被加载到数据存储区中,客户端被重定向到" /"
https://developers.google.com/appengine/docs/go/blobstore/中的示例代码 创建一个模板,根据我的理解,当按下提交按钮时,表单值被加载到blobstore中,客户端被重定向到" / upload"
所以根据我的理解,在blobstore中,写入是在重定向到" / upload"之前,在数据存储区中,写入是在重定向到" / sign"
之后所以问题是如何在按下提交时将图像分割到blobstore并将有关图像的信息写入数据存储区?
我想到的最简单的解决方案是"提交"使用blobstore方法并将所有内容写入blobstore,然后使用r.FromValue(" info")获取数据并将其放入数据存储区。 缺点是我有一个重复的" info"在数据存储区和blobstore中。
另一种解决方案是提交"提交"使用数据存储区方法的表单,然后手动将图像放到blobstore。我发现这可能不是最佳的方法是将图像转换为[] byte(Golang Converting image.Image to []byte)us blobstore.Create和writer.write([] byte) 这种方法的缺点是图像可能太大而无法重定向到" / sign"。这个评论是我没有经验的直觉,我可能是错的。
我非常感谢您的帮助