Firebase storage upload files
  • 18 May 2022
  • 4 Minutes to read
  • Dark
    Light
  • PDF

Firebase storage upload files

  • Dark
    Light
  • PDF

Upload file(s) to Firebase Storage in the given upload path(s).

This flow function takes in a list of file objects - the file objects contain the upload path.

The first output is triggered if all of the files were uploaded successfully.

The second output is triggered if at least 1 of many files fail to upload.

The third output is triggered if all of the file uploads fail.

Note: Firebase needs to be initialized before this flow function can be used. Also, if access to the Firebase Storage resource is restricted make sure user is authenticated and has the required permissions to access it.

Input arguments

Label Key Type Required? Default Description
Files to upload files Array Yes List of files that have `uploadUrl` property.
Custom upload path uploadPath String No

Custom path for uploaded files - this determines the folder structure in Firestore.

If custom path is not provided (No value from binding editor or undefined via formula), the folder structure will be copied from the device.

Note: that the custom upload and download paths need to match.

Output arguments

Number of outputs: 3

Label Key Type Description
Upload job ID jobId Number Unique job ID for the upload.
Uploaded files files Array Object describing the uploaded file.
  • Local path
files.path String Absolute local filesystem path representing the file location on the device, including the filename and extension. On web, this is created via the [`createObjectURL`](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL) method.
  • MIME type
files.mimeType String MIME type of the file, if it could be determined.
  • Name
files.name String Name of the file in the local filesystem, if applicable. Note that the filename and extension are included in the **Local path** property already.
  • Size
files.size Number Size of the file, in bytes.
  • Created at
files.createdAt String Creation datetime of the file, if it can be determined.
  • Modified at
files.modifiedAt String Datetime when the file was last modified, if it can be determined.
  • Upload path
files.uploadPath String Firebase Storage path where the file is uploaded
  • Upload status
files.uploadStatus Object Upload status for the file
  • Download URL
files.downloadUrl String URL to download the uploaded image. Depending on the Firebase configuration the URL is valid only temporarily and should be re-fetched using the Get Firebase Storage download URL flow function for later access.
Uploaded files erroredFiles Array Object describing the file for which the upload failed.
  • Local path
erroredFiles.path String Absolute local filesystem path representing the file location on the device, including the filename and extension. On web, this is created via the [`createObjectURL`](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL) method.
  • MIME type
erroredFiles.mimeType String MIME type of the file, if it could be determined.
  • Name
erroredFiles.name String Name of the file in the local filesystem, if applicable. Note that the filename and extension are included in the **Local path** property already.
  • Size
erroredFiles.size Number Size of the file, in bytes.
  • Created at
erroredFiles.createdAt String Creation datetime of the file, if it can be determined.
  • Modified at
erroredFiles.modifiedAt String Datetime when the file was last modified, if it can be determined.
  • Upload path
erroredFiles.uploadPath String Firebase Storage path where the file is uploaded
  • Upload status
erroredFiles.uploadStatus Object Upload status for the file
  • Download URL
erroredFiles.downloadUrl String URL to download the uploaded image. Depending on the Firebase configuration the URL is valid only temporarily and should be re-fetched using the Get Firebase Storage download URL flow function for later access.
Uploaded files successfulFiles Array Object describing the uploaded file.
  • Local path
successfulFiles.path String Absolute local filesystem path representing the file location on the device, including the filename and extension. On web, this is created via the [`createObjectURL`](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL) method.
  • MIME type
successfulFiles.mimeType String MIME type of the file, if it could be determined.
  • Name
successfulFiles.name String Name of the file in the local filesystem, if applicable. Note that the filename and extension are included in the **Local path** property already.
  • Size
successfulFiles.size Number Size of the file, in bytes.
  • Created at
successfulFiles.createdAt String Creation datetime of the file, if it can be determined.
  • Modified at
successfulFiles.modifiedAt String Datetime when the file was last modified, if it can be determined.
  • Upload path
successfulFiles.uploadPath String Firebase Storage path where the file is uploaded
  • Upload status
successfulFiles.uploadStatus Object Upload status for the file
  • Download URL
successfulFiles.downloadUrl String URL to download the uploaded image. Depending on the Firebase configuration the URL is valid only temporarily and should be re-fetched using the Get Firebase Storage download URL flow function for later access.

Events

Label Key Description Properties
File upload progress onFileUploadProgress Triggered when the file upload progresses. jobId, totalSize, bytesUploaded, files

Errors

Label Code Description
Unknown error unknown Thrown when trying to upload the files resulted in an unknown error.
All files failed allFilesFailed Thrown if all of the files you are trying to upload fail
No files to upload noFilesToUpload Thrown if there are no files to upload

Was this article helpful?