我正在尝试通过一键迁移将我的服务器从 Parse.com 迁移到 Heroku。他们的文档说 Parse Server 支持“文件”类型,但我找不到任何有关传输这些文件的文档,因此 Heroku 可以访问它们。
1 回答
这不是一个答案,但我一直有同样的问题/困境,并且有部分信息可能有助于最终找到答案。我进行了迁移并查看了一些正在发生的事情。
例子,photoObj.get('file').url();
在解析托管:文件指向以下内容:http: //files.parsetfss.com/parseFileKey/fileName.ext
这存储在一些亚马逊 S3 的东西上。基本上这指向: https ://s3.amazonaws.com/files.parsetfss.com/parseFileKey/fileName.ext
迁移到 Heroku/MongoLab 后,photoObj.get('file').url()
指向以下内容:http:
//files.parsetfss.com/newHostFileKey/fileName.ext
newHostFileKey
是我们在解析服务器设置中指定的东西,似乎是通过这个设置自动生成的。
到目前为止,我没有看到任何证据表明迁移工具将文件从 Parse Hosting 移动到新的主机/数据库。
文件上传到新主机工作正常。在新主机上,如果生成一个新文件,它最终会指向如下内容: http://newHostURL/parse/files/appID/fileName.ext
parse
是您在解析服务器启动时指定的任何内容,例如app.use('/parse', api);
appID
是您在解析服务器启动时指定的任何内容,例如
var api = new ParseServer({
appId: 'appID',
fileKey: 'newHostFileKey'
});
更改 Parse Hosted 文件的 url 点以适应新的主机模式不会产生任何东西(找不到文件)等。
我不知道新文件是如何存储的以及 url 路由到哪里。
通过新主机上传的新文件,我注意到在 MongoLab DB 中创建了一些新表/集合。这些是fs.chunks
和fs.files
fs.chunks
是存储文件数据的位置(我认为)。因此,在新的 heroku/mongolab 设置下,文件似乎驻留在数据库“中”。
至于将图像从 Parse 托管迁移到新托管的最佳方法是什么,我不知道,但我不确定目前是否有一个直接公开的答案。