Skip to content

alorian/bitrix24-disk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bitrix24 Disk

Interaction helper for bitrix24 disk

Key features are recursive directory creation from string and promise based requests

Installation

$ yarn add bitrix24-disk

or 

$ npm i bitrix24-disk

Methods

All methods return js Promise. Library expects window.BX24 rest library already defined

Bitrix24Disk.initStorage()

Method defines storage which will be used for all other methods. Must be called before any other method.

Library uses default app storage: https://dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_getforapp.php

Bitrix24Disk.findSubFolder(diskFolder, subFolderName)

Arguments:

  • diskFolder - null or bitrix24 folder object. If null given than method looks into storage root. Otherwise method looks subfolder name at given folder

  • subFolderName - name of folder to find

Bitrix24Disk.createSubFolder(diskFolder, subFolderName)

Arguments:

  • diskFolder - null or bitrix24 folder object. If null given than method creates subfolder into storage root. Otherwise method creates subfolder at given folder

  • subFolderName - name of folder to create

Bitrix24Disk.findOrCreatePath(diskPath)

Method takes any string. Recursively creates folder structure by given string

If any part of given path already exists, than method create only rest path

Method returns "disk folder object" for deepest directory

Basic example:

let pathCreated = Bitrix24Disk.findOrCreatePath('/any/folder/structure')
pathCreated.then(diskFolder => {
    console.log(diskFolder)
})

Bitrix24Disk.uploadToFolder(diskFolder, fileName, fileReader)

Arguments:

  • diskFolder - null or bitrix24 folder object. If null given than method upload file into storage root. Otherwise method uploads file at given folder

  • fileName - string, filename on bitrix24 storage

  • fileReader - fileReader object more info here https://developer.mozilla.org/ru/docs/Web/API/FileReader

Method returns bitrix24 disk file object

Bitrix24Disk.uploadToPath(diskPath, fileReader)

Arguments:

Method returns bitrix24 disk file object

Basic usage example

import Bitrix24Disk from "bitrix24-disk"

let storageLoaded = Bitrix24Disk.initStorage()
storageLoaded.then(storage => {
    console.log(storage)
    let pathCreated = Bitrix24Disk.findOrCreatePath('/any/folder/structure')
    pathCreated.then(diskFolder => {
        let fileInput = document.getElementById('file-input-id')
        let filesList = fileInput.files
        if (filesList.length > 0) {
            for (let i = 0; i < filesList.length; i++) {
                let fileReader = new FileReader();
                fileReader.readAsDataURL(filesList[i]);
                
                let fileUploaded = Bitrix24Disk.uploadToFolder(
                    diskFolder, 
                    filesList[i].name,
                    fileReader
                )
                
                fileUploaded.then(file => {
                    console.log(file)
                })

                fileUploaded.catch(error => {
                    console.log(error)
                })
            }
        }
    })
})

storageLoaded.catch((error) => {
    console.log(error)
})

About

Bitrix24 disk helper

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published