OGeek|极客世界-中国程序员成长平台

标题: ios - 通过 REST API 将图像保存到 Parse,然后在 iOS 应用程序中使用它 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:40
标题: ios - 通过 REST API 将图像保存到 Parse,然后在 iOS 应用程序中使用它

我正在开发一个应用程序,用户可以在其中通过 Web 界面将图像存储在 Parse 上。然后可以在原生 iOS 应用中显示这些图像。

图像通过 Parse REST API 上传到 Parse;然后将存储图像的 URL 保存为 PFObject 的字符串属性。这是我为此目的使用的 javascript 代码:

function postImageToParse(fileName, file, onSuccess, onError) {

    file = file.replace(/^data:image\/(png|jpeg|jpg);base64,/, "");

    var binaryImg = atob(file);
    var length = binaryImg.length;
    var ab = new ArrayBuffer(length);
    var ua = new Uint8Array(ab);
    for (var i = 0; i < length; i++) {
        ua[i] = binaryImg.charCodeAt(i);
    }
    var blob = new Blob([ab],{type:"image/jpeg"});

    var serverUrl = 'https://api.parse.com/1/files/' + basename(fileName);
    $.ajax({
        type: "OST",
        beforeSend: function(request) {
            request.setRequestHeader("X-Parse-Application-Id", '...');
            request.setRequestHeader("X-Parse-REST-API-Key", '...');
            request.setRequestHeader("Content-Type", file.type);
        },
        url: serverUrl,
        data: blob,
        processData: false,
        contentType: false,
        successnSuccess,
        errornError
    });
}

这工作正常,我得到了表单的 URL:

http://files.parse.com/b6a8c6d1-ba52-4d82-bde7-d2f2c9bb6fe4/6279b03f-521a-4481-97ae-553a0396ff98-xyz

现在,我尝试在 iOS 上使用 PFImageView 来检索/显示图像,如 here 所述,但发现自己无法创建一个 PFFile 以作为文件属性传递给 PFImageView 对象,正如此片段所要求的那样:

PFImageView *creature = [[PFImageView alloc] init];
creature.image = [UIImage imageNamed"1.jpg"]; // placeholder image
creature.file = (PFFile*)file;
[creature loadInBackground];

当然,我可以通过直接访问存储在我的 PFObject 中的 URL 来下载图像,但我想知道这是否正确以及是否有更好的方法来处理这个问题。

那么,在所描述的场景中,我应该如何获取存储在 Parse 上的图像,我有用于上传它的 REST API 调用返回的 URL?



Best Answer-推荐答案


我查看了PFFile的界面,没有找到直接下载PFFile的方法。但是,您说您将文件的 URL 设置为 PFObject 的字符串属性。相反,为什么不将该属性设置为 PFFile

PFObject *object = ....
PFFile *imageFile = [object objectForKey"imageFile"];
creature.file = file;

关于ios - 通过 REST API 将图像保存到 Parse,然后在 iOS 应用程序中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964750/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4