【问题标题】:Setting PFFile on Object in Parse Cloud Code在 Parse Cloud 代码中在对象上设置 PFFile
【发布时间】:2015-12-30 04:49:24
【问题描述】:

是否可以直接将 Swift 中的 PFFiles 传递给 Cloud Code 并将其设置在对象上?

我有一个 PFFile,

let imageData = UIImageJPEGRepresentation(self.imageView.image!, 0.1)
let imageFile = PFFile(data: imageData!)

我正在尝试在用户对象上设置它,然后在云代码中进行注册,如下所示:

Parse.Cloud.define("createNewUser", function(request, response) {

    var theimage = request.params.image
    var username = request.params.username
    var pw = request.params.password

    var user = new Parse.User();
    user.set("username", username);
    user.set("password", pw);

    theimage.save().then(function(){
        user.set("image",theimage)
        user.signUp(null, {
        success: function(user) {       
            response.error("working");
        },
        error: function(user, error) {
            response.error("Sorry! " + error.message);
        } });

    }, function(error) {
        response.error("Sorry! " + error.message);
    });

});

调用云代码的iOS代码:

 PFCloud.callFunctionInBackground("createNewUser", withParameters: 
 ["username": username, "password": password, "image": imageFile], 
 block: { (result, error) -> Void in
    // UI stuff
 })

我收到此错误:

TypeError: Cannot read property 'format' of undefined
at e.a.value (Parse.js:13:25673)
at main.js:40:14 (Code: 141, Version: 1.10.0)

我尝试查看以下内容:http://parse.com/docs/js/api/classes/Parse.File.html,但我仍然不确定如何将我的图像从 Swift 获取到云代码,以便我可以注册新用户...

【问题讨论】:

  • 如果有帮助,我在图像上尝试了 console.log,结果显示为 {"__type":"File"}
  • 我还查看了 Parse 的 js 文档并找到了如何使用 Files,但我不知道如何将 PFFile 转换为 Parse.File parse.com/docs/js/guide#files

标签: ios swift parse-platform parse-cloud-code


【解决方案1】:

我没有将图像作为 PFFile 传递,而是将图像作为 NSData 传递,然后将结果转换为 Parse.File 对象。然后我保存了它并注册了用户。效果很好!

JS

var parseFile = new Parse.File("prof",theimage)

parseFile.save().then(function(){
    user.set("image",parseFile)
    user.signUp(null, {
    success: function(user) {       
        response.success("working");
    },
    error: function(user, error) {
        response.error("Sorry! " + error.message);
    } });

}, function(error) {
    response.error("Sorry! " + error.message);
});

【讨论】:

  • 通过云代码传递这样的用户名和密码有多安全?
  • 与 http 请求一样安全:stackoverflow.com/questions/1008668/how-secure-is-a-http-post,也就是说,Parse 已死,此时我不会花太长时间为安全问题绞尽脑汁
  • 尝试将我当前的应用程序迁移到自托管服务器,所以现在它必须是安全的
  • @GrantPark 你是怎么选的?你有从 PFFile 到 Nsdata 的样本吗?我做错了。
猜你喜欢
  • 2015-01-27
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 2023-03-31
  • 2019-03-06
  • 1970-01-01
  • 2021-03-09
  • 2015-10-23
相关资源
最近更新 更多