gpt4 book ai didi

parse-platform - 云代码 : Creating a Parse. 来自 URL 的文件

转载 作者:行者123 更新时间:2023-12-04 08:26:07 25 4
gpt4 key购买 nike

我正在研究使用 facebook 图形 API 来检索用户个人资料图片的 Cloud Code 函数。所以我可以访问正确的图片 URL,但我无法从此 URL 创建 Parse.File。

这几乎就是我正在尝试的:

    Parse.Cloud.httpRequest({
url: httpResponse.data["attending"]["data"][key]["picture"]["data"]["url"],
success: function(httpImgFile)
{
var imgFile = new Parse.File("file", httpImgFile);
fbPerson.set("profilePicture", imgFile);
},
error: function(httpResponse)
{
console.log("unsuccessful http request");
}
});

它返回以下内容:
Result: TypeError: Cannot create a Parse.File with that data.
at new e (Parse.js:13:25175)
at Object.Parse.Cloud.httpRequest.success (main.js:57:26)
at Object.<anonymous> (<anonymous>:842:19)

想法?

最佳答案

我现在遇到了这个完全相同的问题。出于某种原因,这个问题已经在 的 Google 搜索结果中名列前茅。来自 httprequest 缓冲区的解析文件 !

Parse.File documentation

The data for the file, as 1. an Array of byte value Numbers, or 2. an Object like { base64: "..." } with a base64-encoded String. 3. a File object selected with a file upload control. (3) only works in Firefox 3.6+, Safari 6.0.2+, Chrome 7+, and IE 10+.



我相信对于 CloudCode,最简单的解决方案是 2 .之前让我绊倒的事情是我没有注意到它期望 Object格式为 { base64: {{your base64 encoded data here}} } .

还有 Parse.File s 只能设置为 Parse.Object保存后(此行为也出现在所有客户端 SDK 上)。我强烈建议使用 Promise API 的版本,因为它可以更轻松地组合此类异步操作。

因此,以下代码将解决您的问题:

Parse.Cloud.httpRequest({...}).then(function (httpImgFile) {
var data = {
base64: httpImgFile.buffer.toString('base64')
};
var file = new Parse.File("file", data);
return file.save();
}).then(function (file) {
fbPerson.set("profilePicture", file);
return fbPerson.save();
}).then(function (fbPerson) {
// fbPerson is saved with the image
});

关于parse-platform - 云代码 : Creating a Parse. 来自 URL 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33725285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com