Neurotic Pink Mongooses

    webdav-fs-for-chinese

    1.0.0-rc7 • Public • Published

    webdav-fs

    Node fs wrapper for WebDAV. Perform basic filesystem tasks in a similar manner to using async fs methods like readdir and writeFile.

    Build Status

    webdav-fs on npm NPM

    Installation

    Install webdav-fs using npm:

    npm install webdav-fs --save
    

    Example

    You can use webdav-fs in authenticated or non-authenticated mode:

    // Using authentication:
    var wfs = require("webdav-fs")(
            "http://example.com/webdav/",
            "username",
            "password"
        );
     
    wfs.readdir("/Work", function(err, contents) {
        if (!err) {
            console.log("Dir contents:", contents);
        } else {
            console.log("Error:", err.message);
        }
    });
    // Without using authentication:
    var wfs = require("webdav-fs")("http://example.com/webdav/");
     
    wfs.stat("/report.docx", function(err, data) {
        console.log("Is file:", data.isFile());
    });

    API

    The following methods are available on the webdav-fs module:

    mkdir(path, callback)

    Create a remote directory:

    wfs.mkdir("/remote/dir", function(error) {
        // handle error if truthy
    });

    readdir(path, callback[, mode])

    Read the contents of a remote directory:

    wfs.readdir("/some/remote/path/", function(error, contents) {
        // callback is an array of filenames
    });

    mode is an optional processing mode, where:

    • 'node' (the default mode) will output an array of filename strings
    • 'stat' will output an array of stat objects (plus a name field)

    readFile(path, [encoding,] callback)

    Read the contents of a remote file:

    wfs.readFile("/website/index.php", "utf8", function(error, data) {
        // data is the contents of the file
        // encoding is optional
    });

    rename(currentPath, destinationPath, callback)

    Move/rename a file to another location/name. This does not create new directories for nested files (moving a file into a new directory will not work).

    wfs.rename("/my-document.docx", "/Documents/personal.docx", function (error) {
        // handle error
    });

    stat(path, callback)

    Stat a remote file:

    wfs.stat("/the-internet.dat", function(error, fileStat) {
        console.log(fileStat);
    });

    A stat has the following properties:

    Property Type Description
    isFile Function Check if the item is a file
    isDirectory Function Check if the item is a directory
    mtime Number Last modification timestamp
    size Number Size of the item in bytes

    unlink(path, callback)

    Delete a remote file or directory:

    wfs.unlink("/remote/path", function(error) {
        // handle error if truthy
    });

    writeFile(path, data, [encoding,] callback)

    Write data to a remote file:

    wfs.writeFile("/Temp/im-here.txt", "This is a saved file! REALLY!!", function(err) {
        console.error(err.message);
    });

    writeFile supports writing binary files as well:

    fs.readFile(sourceFile, "binary", function(err, data) {
        wfs.writeFile(destFile, data, "binary", function(err) {
            // handle error
        });
    });

    writeFile supports just a couple of encodings:

    • utf8
    • binary

    When writing binary files, data must either be a binary string from a read file in Node (then passed to new Buffer(data, "binary")) or a Buffer.

    Install

    npm i webdav-fs-for-chinese

    DownloadsWeekly Downloads

    7

    Version

    1.0.0-rc7

    License

    MIT

    Last publish

    Collaborators

    • willkan