Skip to content

馃殌 Feature: Method to Generate File URL聽#71

Open

Description

@stnguyen90

馃敄 Feature description

Add storage.getFileDownloadURL(), storage.getFilePreviewURL(), and storage.getFileViewURL() methods.

馃帳 Pitch

There are instances where it would be helpful to get a URL rather than the file as bytes such as when used by Image.network() or on Flutter Web.

馃憖 Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

馃彚 Have you read the Code of Conduct?

Activity

  1. silvinhodev commented on Jul 21, 2022

    @silvinhodev

    Don't is necessary only a method to get URL?

  2. silvinhodev commented on Jul 21, 2022

    @silvinhodev

    How I have mentioned in discord, I forked this project now, i have updated the method 'getFileView' and make fews changes to obtain a url in same method.
    So then, storage.getFileView(), storage.getFilePreview() and storage.getFileDownload() can obtain a URL and show a Image with widget Image.network().

    And bonus, a method to get a URL passing bucketId and fileId outside methods above.

    Example:

    FutureBuilder(
      future: Services.instance.storage.getFileView(
        bucketId: '62d5a2b48e1af6936615',
        fileId: '62d5a2cdf08aa4f45e6e',
        getURL: true, //Set getURL to [true] to obtain a URL Link,
                      //if set to [false] or remove it obtain a [Uint8List].
      ),
      builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return const Center(
            child: CircularProgressIndicator(),
          );
        }
        return Column(
          children: [
            const Text(
              'Obtain a url with getURL',
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 10),
            Text(
              '${snapshot.data}',
            ),
            const SizedBox(height: 10),
            const Text(
              'Obtain a url with getURL and show'
              ' a image using Image.network()',
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 10),
            Image.network('${snapshot.data}'),
          ],
        );
      },
    ),
    

    Captura de Tela 2022-07-21 a虁s 09 56 36
    Captura de Tela 2022-07-21 a虁s 09 56 56

  3. self-assigned this
    on Jul 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions