1.1.0 • Published 4 years ago

lotec-storage-connector v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

lotec-storage-connector

This library is fundamentally created to connect with AWS-S3.

NPM JavaScript Style Guide

Install

npm install --save lotec-storage-connector

Usage

import React, { useState } from 'react'

import StorageConnector from 'lotec-storage-connector'

const App = () => {
  const [selectedFile, setSelectedFile] = useState('')
  const [isUploaded, setIsUploaded] = useState(false)
  const config = {
    accessKeyId: 'YOUR_ACCESS_KEY',
    secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
    region: 'YOUR_REGION',
    bucketName: 'YOUR_BUCKET_NAME'
  }
  const [storageConnector] = useState(() => new StorageConnector(config))

  const upload = async () => {
    storageConnector.consoleLogStorageClient()
    const metadata = {
      key: 'value'
    }
    const uploadParams = storageConnector.constructUploadParams(
      'public-read',
      'example_storage_connector/' + selectedFile.name,
      selectedFile.type,
      selectedFile,
      metadata
    )
    storageConnector.uploadToStorageService(uploadParams)
  }

  const downloadObject = () => {
    const params = {
      Key: 'example_storage_connector/' + selectedFile.name
    }
    storageConnector.getObjectFromStorageService(params)
  }

  const headObject = async () => {
    const params = {
      Key: 'example_storage_connector/' + selectedFile.name
    }
    try {
      const headObject = await storageConnector.headObjectFromStorageService(
        params
      )
      console.log(headObject)
      setIsUploaded(true)
    } catch (err) {
      console.log(err)
    }
  }

  const listObjects = async () => {
    const params = { Prefix: 'example_storage_connector/' }
    const listObjects = await storageConnector.listObjectsFromStorageService(
      params
    )
    console.log(listObjects)
  }

  const deleteObject = async () => {
    const params = {
      Key: 'example_storage_connector/' + selectedFile.name
    }
    try {
      await storageConnector.deleteObjectFromStorageService(params)
      console.log(`${selectedFile.name} has successfully deleted`)
    } catch (err) {
      console.log(err)
    }
  }

  return (
    <div>
      <div>
        <input
          type='file'
          onChange={(event) => {
            console.log(event.target.files[0])
            setSelectedFile(event.target.files[0])
          }}
        ></input>
        <button onClick={upload}>Upload</button>
      </div>
      <div>
        <button onClick={listObjects}>List Objects</button>
      </div>
      <div>
        <button onClick={headObject}>Check Uploaded Object Exists</button>
      </div>
      <div>
        <button disabled={!isUploaded} onClick={downloadObject}>
          Download Object
        </button>
      </div>
      <div>
        <button disabled={!isUploaded} onClick={deleteObject}>
          Delete Object
        </button>
      </div>
    </div>
  )
}

export default App

License

MIT ©

1.1.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago