我想将文件上传到我的Google App Engine项目。
我在这个问题上已经阅读了一段时间,并且有很多答案认为Blobstore是最好的选择。
但如果我确实理解这一点,那么这些就是数据库对象。我想将它们作为系统文件上传到缓存主题,或者为了便于将来迁移到另一个CDN。
想象一下,我想为每个用户保存几个文件,几个图像,文本文件,可能还有一些视频等等...... 如果有一天我想将这些静态文件移到另一个CDN,那么它不应该在数据库之外吗?
这是个好主意吗?有解决方案吗?
答案 0 :(得分:1)
我建议您使用GAE数据存储来存储文件引用(例如,视频,图像等)并在Amazon S3上传内容。您甚至可以允许客户端将内容直接上传到Amazon S3,而无需使用Amazon HTML POST表单( Browser Uploads to S3 using HTML POST Forms )通过GAE处理内容。 Amazon AWS还提供与S3服务紧密集成的CDN(CloudFront)。
如果您只需要存储小图片,您也可以考虑使用Google图片服务,因为它提供“免费”CDN和一些很酷的开箱即用转换。
答案 1 :(得分:0)
您无法写入App Engine上的文件系统,因此您可以选择将数据存储到数据存储区或blobstore。在这两者中,blobstore通常是存储文件上传的最佳选择。
关于移植到CDN,无论你如何做到这一点,都需要进行更改。 App Engine不是CDN,没有两个CDN完全相同,并且CDN不太可能暴露出可以使用标准文件系统操作进行交互的接口。