nextcloud-chunk-file-upload

    1.0.8 • Public • Published

    Nextcloud Chunk File Upload

    Upload files to Nextcloud using chunks

    Nextcloud offers a chunked upload library, which makes your life a lot easier, if you want to upload large files to your Nextcloud instance over a bad network.

    Use this library if you want to build some sort of upload client in node.js and do that with the joy of Promises 🙌.

    Installation

    This package is published on NPM so you can simply type:

    npm install --save nextcloud-chunk-file-upload
    

    or

    yarn add nextcloud-chunk-file-upload
    

    Usage

    Upload

    The core part of this library is a class called Upload, which takes care of server parameters, like the server's address and your credentials. If you want to start an upload, call uploadFile. The return value of this method is Promise, indicating the success or failure of the upload process.

    Methods

    constructor(url, userspace, username, password)

    Name Required Type Default Description
    url yes string URL to WebDav API
    userspace yes string User key on the filesystem on the server (usually the same as username)
    username yes string Credentials: Username
    password yes string Credentials: Password

    uploadFile(localPath, remotePath, chunkSize, retryChunks): Promise<Event>

    Name Required Type Default Description
    localPath yes string Path of file on local machine
    remotePath yes string Path the file should be placed on the server
    chunkSize no number 2MB The max size of chunks in bytes
    retryChunks no number 5 Number of retry attempts for uploading a chunk

    Event

    Upload.uploadFile returns a promise containing an event object. This object holds information about the result of the upload.

    Member variables

    Name Type Description
    filename string Local file path
    chunkNo number Sequence number of the current chunk
    message string Event reason
    complete boolean Whether the upload was successful

    Methods

    toString(): string

    Returns a string containg the event data

    Example

    A simple upload code could look like this:

    const Upload = require('nextcloud-chunk-file-upload');
    
    const upload = new Upload('https://example.com/remote.php/dav', 'myuser', 'myspace', 'secret');
    
    upload.uploadFile('/path/to/localfile.jpg', '/path/to/remotefile.jpg')
      .then(event => {
        console.log('Success!');
        console.log(event.toString());
      })
      .catch(event => {
        console.error('Sth. went wrong')
        console.error(event.toString());
      });

    License

    This project is licensed under the MIT license. See LICENSE file.

    Install

    npm i nextcloud-chunk-file-upload

    DownloadsWeekly Downloads

    50

    Version

    1.0.8

    License

    MIT

    Unpacked Size

    10.2 kB

    Total Files

    8

    Last publish

    Collaborators

    • shiftpi