gpt4 book ai didi

swift - 如何在PFImageView中显示使用云代码上传的图片

转载 作者:行者123 更新时间:2023-11-30 13:42:49 25 4
gpt4 key购买 nike

这是我的场景:

  1. 我需要将从 url 获取的图像保存到 Parse 后端。
  2. 从 Parse 后端检索相同的图像并将其显示在 iOS 中的 PFImageView 中。

这就是我所做的:

  1. 将图像保存到 Parse 后端:

    promise = promise.then(function(){
    /* Download image */
    return Parse.Cloud.httpRequest({
    url: imageUrl
    });

    }).then(function(imageResponse){
    /* Use parse-image cloud module to get image */
    var image = new Image();
    return image.setData(imageResponse.buffer);

    }).then(function(image){
    /* Save image as parse file */
    var imageInBase64 = image.data().base64;
    var parseFile = new Parse.File(imageName, {base64: imageInBase64});
    return parseFile.save();

    }).then(function(parseFile){
    /* Set PFFile to an object */
    newEvent.set("eventImage", parseFile);
    });
  2. 然后,我通过单击相关对象的 PFFile 字段来验证 PFFile 是否已保存在后端。当我单击该文件时,我没有看到图像,而是看到了以下文本。

    {"_ApplicationId":"xxxx","_JavaScriptKey":"xxxx","_ClientVersion":"js1.6.14","_InstallationId":"xxxx","_SessionToken":"r:xxxx"}
  3. 在 PFImageView 中显示相同的图像:

    @IBOutlet weak var eventImage: PFImageView!

    if let imageFile = selectedEvent.eventImage as PFFile {
    eventImage.image = UIImage(named: "Event Image")
    eventImage.file = imageFile
    eventImage.loadInBackground()
    }

不幸的是,这不起作用,PFImageView 只是空白。看来 PFFile 是根据以下事实下载的: imageFile.url 和 imageFile.name 结果如下:

imageFile.url:https://files.parsetfss.com/xxxx/tfss-xxxximageFile.name: tfss-xxxx

我想知道这里的问题是否是如何将图像上传到云代码中的 Parse。这里我将其转换为base64,然后保存文件。

最佳答案

已解决:

问题在于使用var imageInBase64 = image.data().base64;。我的替换云代码如下:

    promise = promise.then(function(){
/* Download image */
return Parse.Cloud.httpRequest({
url: imageUrl
});

}).then(function(imageResponse){
/* Use parse-image cloud module to get image */
var image = new Image();
return image.setData(imageResponse.buffer);

}).then(function(image){
format = image.format();
return image.data();

}).then(function(buffer)){
/* Save image as parse file */
var imageInBase64 = buffer.toString("base64");
var parseFile = new Parse.File(imageName + "." + format, {base64: imageInBase64});
return parseFile.save();

}).then(function(parseFile){
/* Set PFFile to an object */
newEvent.set("eventImage", parseFile);
});

关于swift - 如何在PFImageView中显示使用云代码上传的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35363805/

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