【问题标题】:How can I create a image based feed in a flutter app?如何在颤振应用程序中创建基于图像的提要?
【发布时间】:2020-12-26 20:02:21
【问题描述】:

我正在尝试在 Flutter 上创建一个 instagram 风格的应用程序,唯一的区别是提要是经过策划的,而不是由用户上传的图像生成的。 我已经上传了我想在 Cloud Storage 上显示给用户的所有文件。我尝试了两种不同的方法来显示提要,但都失败了。

方法一 使用谷歌云功能 我试图模仿this。基本上,我试图使用云功能来生成文件的链接,然后将它们输入到 Fire Store 中的文档中,然后我会查询 Firestore。我部署了谷歌云存储功能,尝试使用 getSignedUrl 但之后几乎被卡住了。我什至不确定如何获取 URL,更不用说为每个 URL 制作文档了

const functions = require('firebase-functions');


var admin = require("firebase-admin");

var serviceAccount =require("myname.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "myname.com"
});

/* const myFile = admin.storage().bucket().file('path/to/my/file');
myFile.getSignedUrl({action: 'read', expires: someDateObj}).then(urls => {
    const signedUrl = urls[0]
}); */


function getSignedUrl() {
    const gcs = require('@google-cloud/storage')({keyFilename: 'myname.json'});
// ...
const bucket = gcs.bucket(bucket);
const file = bucket.file(fileName);
return file.getSignedUrl({
  action: 'read',
  expires: '03-09-2491'
}).then(signedUrls => {
  // signedUrls[0] contains the file's public URL
});
    
}

方法二 在颤振中使用 for 循环 I tried to do what this guy did 我制作了一个包含所有文件名称的文本文件,然后将它们附加到链接中。使用 for 循环,我能够生成一个基本的提要,但它会重复图像并且不会显示超过 10 个图像。

while(i != numOfImages && i != imageNames.length) {
      String filePath = imageFolderPath + imageNames[i];
      // imageNames.shuffle();

      imageUrls.add(await getDownloadUrl(filePath));
      i++;
    }

    return imageUrls;
  }

有人可以帮我解决方法1吗?

【问题讨论】:

    标签: flutter dart firebase-storage feed


    【解决方案1】:

    好的,所以基本上在 firebase 存储中,您现在可以上传图片(据我了解,这是您在第一种方法中所做的),如果应用程序可以访问 firebase 存储,那么您可以使用图片的 URL 和网络图像小部件以加载图像。要创建提要,请获取图像 URL 列表并使用 ListView.builder 生成网络图像列表并使用您加载的 URL。您还可以使用cached network image 以获得更好的感觉和前端性能。

    编辑:

    这就是你如何获得 imageURL solution

    【讨论】:

    • 但是如何获取所有文件的 URL?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2019-02-01
    • 2021-05-16
    • 2020-05-06
    • 1970-01-01
    • 2022-06-25
    • 2020-01-13
    相关资源
    最近更新 更多