Package Exports
- webdav-fs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (webdav-fs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
webdav-fs
Node fs wrapper for WebDAV. Perform basic filesystem tasks in a similar manner to using async fs methods like readdir and writeFile.
Installation
Install webdav-fs using npm:
npm install webdav-fs --saveExample
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
namefield)
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.

