Eueno
  • EUENO – Decentralized Encrypting Blockchain Oracles for Web3
    • Litepaper
    • Use Cases
  • Get Started
    • Prerequisites
    • Buckets
      • Create a bucket
      • Delete a bucket
    • Files
      • Upload a file
      • View a file
      • Delete a file
      • Share a file
  • Pricing
  • Eueno libraries
    • @eueno/lib-browser
      • Installation
      • Setup
      • Create key (generate a key for encrypting the file(s))
      • login()
      • useEuenoContext()
      • getUserInfo()
      • updateUserInfo()
      • createProject()
      • getProjectInfo()
      • getProjects()
      • getFilesListByFolder()
      • deleteProject()
      • createFolder()
      • uploadFolder()
      • Get folder detail
      • deleteFolder()
      • uploadFile()
      • uploadFileWithSignedUrl()
      • getCid()
      • getFileById()
      • getFileListById()
      • Get file detail
        • getDetailFile()
        • getDetailUnencryptedFile()
        • getDetailEncryptedFile()
      • getDetailMultiEncryptedFiles()
      • deleteFile()
      • shareFile()
      • shareMultiFile()
      • deleteSharePermission()
      • getShareList()
      • getShareListToMe ()
    • @eueno/lib-node
      • Create eueno client
      • Create project key
      • Create project
      • Upload file
      • Upload folder
      • Get file
      • Get list file
      • Share file
      • Get shared files
      • Create folder
      • Create Account
      • Decrypt Get Key Aes
      • Decrypt File by Key Aes
  • Policies
    • Privacy Policy
    • Terms of Service
Powered by GitBook
On this page
  • Syntax
  • Parameters
  • Example
  1. Eueno libraries
  2. @eueno/lib-browser

uploadFolder()

PreviouscreateFolder()NextGet folder detail

Last updated 1 year ago

Syntax

uploadFolder(token: string, publicKey: string, account: string, options: UploadFolderOptions)

Method to upload a folder in the project. We have two types to upload: encrypted and unencrypted. If you upload a file with encrypt type, you will need to generate a key to encrypt data. See how to generate a key in .

This method also allows uploading multiple files.

Parameters

Name
Type
Required
Description

token

string

Yes

The authentication token response from Eueno API when login. After login, this token was saved in local storage with the name “eueno-token".

publicKey

string

Yes

The public key of user.

account

string

Yes

The account address.

options

UploadFolderOptions

Yes

Type UploadFolderOptions has structure looks as below:

export const UPLOAD_TYPE = ["UNENCRYPTED", "ENCRYPT"];
export type UploadType = typeof UPLOAD_TYPE[number];
export interface UploadFolderOptions extends Omit<UploadOptions, "file"> {
  files: FileList | File[];
}

interface UploadOptions {
  file: File;
  path: string[]; // Path file
  projectId: string;
  uploadType: UploadType; //"UNENCRYPTED" : "ENCRYPT"
  inFolder: boolean; // true - if upload folder, false - if upload file(s)
  exportedKey?: string; // Need if encrypt
  onUploadProgress: () => void; // Progress upload file,
  account: string;
}

Example

import { uploadFolder } from "@eueno/lib-browser";
import { toast } from "react-toastify";

const onSubmit = async () => {
await uploadFolder(
     token, 
     publicKey, 
     account, 
     {
       files, 
       path: currentPathArray, // [“112”, “Parent Folder”]
       projectId, //112
       uploadType: "ENCRYPT",
       inFolder: false,
       exportedKey, //"TOAp0nl_s84zhFUFNWbsM8utw6zxm3BhG_7qg4CDjO8"
       onUploadProgress: (progressEvent, name) => {},
     toast,
   });
 };

Response of example uploaded an image file by encrypt method:

 "data": [{
        "id": "220326",
        "name": "Key.svg",
        "nameNo": 1,
        "virtualPath": "0x6c00ba5420f8f86dd26a604f856821c260f1a093/Folder/NewFolder/Profile 3/Key.svg",
        "virtualCloudPath": "0x6c00ba5420f8f86dd26a604f856821c260f1a093/Folder/NewFolder/Profile 3/1678354468130-kwznc.Key.svg",
        "path": "0x6c00ba5420f8f86dd26a604f856821c260f1a093/Folder/encrypt/NewFolder/Profile 3/1678354468130-kwznc.Key.svg",
        "url": "https://node1-gateway-ipfs.eueno.io/ipfs/QmUS4M6VjNKPSrqhcHQCyvemi5jccLPhZUkTj1obysn8Qa",
        "backupUrl": "https://node1-gateway-ipfs.eueno.io/ipfs/QmUS4M6VjNKPSrqhcHQCyvemi5jccLPhZUkTj1obysn8Qa",
        "size": "722",
        "mimeType": "image/svg+xml",
        "method": "ENCRYPT",
        "torrentSize": 4,
        "torrentUrl": "https://node1-gateway-ipfs.eueno.io/ipfs/QmeBHS28FyFB5hrvhu9Mr6wV9YTm499ao2ebR77z4M6yCh",
        "backupTorrentUrl": "https://node1-gateway-ipfs.eueno.io/ipfs/QmeBHS28FyFB5hrvhu9Mr6wV9YTm499ao2ebR77z4M6yCh",
        "encryptKey": "dbdea7cc6fe82d7ad3910fbe31686d3b9f70a4ccf6b304795ecd4806d022a887f6c0c89add138bf03c4a058831b0055c80dd456947f94ef412ed4e1a420b0c6fcd2fb94e2902430e0e4880c88d5b1e756eb3f19b29c2853c9c5352eb17832bc62ea118525fa75ca8459c801177373e9c@@04efe2a4c31c7703c7472da27be78f2bf01d4d9a926f964355837fc9455ba10f220b99b929043683315b3da74e5c77ea9d661b8f7f1080b319ad991a4159b98b98@@bb4dffe2a7507b6cb252a39676dbd096@@2b9e93ff273735e51e34df3e864b2ea000568f0e61640e7b1695672aa0aeac05",
        "createdAt": "2023-03-09T09:34:29.181Z",
        "updatedAt": "2023-03-09T09:34:31.637Z"
    }]

This example describes how to upload folder encrypt in Eueno. First, you need to generate a key (exportedKey parameter) to encrypt (if uploadType is unencrypted, we will don’t need the key). See how to generate a key in . After that, we have an exportedKey for encrypt folder that you uploaded.

this
Create key