Сохранение изображения в Parse через REST API, а затем его использование в приложении iOS

Я разрабатываю приложение, в котором пользователи предназначены для хранения изображений в Parse через веб-интерфейс. Затем эти изображения могут отображаться в приложении для iOS.

Изображения загружаются в Parse через Parse REST API; 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: "POST", 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, success:onSuccess, error:onError }); } 

Это работает правильно, и я возвращаю URL-адрес формы:

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

Теперь я попытался использовать PFImageView на iOS для извлечения / отображения изображения, как объяснено здесь , но не смог создать PFFile для передачи в качестве свойства файла для объекта PFImageView как требуется в этом фрагменте:

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

Конечно, я могу загрузить изображение, напрямую обращаясь к URL-адресу, который я сохранил в своем PFObject, но мне интересно, правильно ли это, и есть ли лучшие способы справиться с этим.

Итак, в описанном сценарии, как мне получить изображение, сохраненное в Parse, для которого у меня есть URL, возвращаемый вызовом API REST, который использовался для его загрузки?

Я посмотрел интерфейс PFFile и я не нашел способ напрямую загрузить PFFile . Однако вы сказали, что вы устанавливаете URL-адрес файла как строковое свойство PFObject . Вместо этого, почему бы вам не установить это свойство как PFFile ?

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

В итоге я задал тот же вопрос на форуме parse.com и получил полезный ответ .

Кажется, что поддерживаемый способ управления изображением, загружаемым через API Parse REST, связывает изображение с ранее созданным объектом через другой вызов REST. Это позволит использовать позже PFFile на стороне iOS.