背景...
我正在探索 Parse.com 作为 iOS 应用程序的后端,该应用程序还为某些用户提供 html/web 浏览器界面(通过 javascript 客户端或 asp.net 客户端 - 待定)。Web 用户是应用程序用户在应用程序中准备的数据/文件的“受众”。他们不是同一个人。
我需要锁定对数据库中对象的访问权限(没有公共访问权限读取或写入),因此我计划设置一个属于管理员角色的管理员用户并创建一个 app_users 角色,相应地将类级别权限应用于各种类。
然后对于我的 iOS 应用程序,使用匿名用户将他们添加到 app_Users 角色,为对象级权限设置默认 ACL 并相应地与数据模型进行交互。
该应用程序创建 PDF 文件并存储为 PFFile 对象,我希望这些文件也没有公共读取或写入访问权限。这些文档可以通过 Web 客户端访问。
所以...
我不认为我想为通过 Web 客户端访问的每个潜在用户使用 PFUsers - 不希望它过度设计。所以我想将参数发送到 Cloud Code(使用 useMasterKey())首先返回要呈现给用户的文件元数据列表 - 这很好 - 我可以返回 PFFile url 或 objectId、文档名称、文件类型和大小。 ..
挑战...
接下来,我需要构建一个 Cloud Code 函数,它给定 objectId 或 url 将获取 PDF 文件并以我的网页可以向用户显示的方式返回它。
我在文档的网络部分中看到了一些示例,看起来这可能是可能的,但我似乎可以加入这些点。
希望这是有道理的——有什么想法吗?
编辑:添加代码
我一直在查看的代码适用于 text/html - 是否可以响应 PDF 或二进制文件
Parse.Cloud.httpRequest({
url:'example.com/file.pdf',
 success: function(httpResponse) {
console.log(httpResponse.text);
},
error: function(httpResponse) {
console.error('Request failed: ' + httpResponse.status);
});