fileSize
Category: File Operations
Namespace: web.files.fileSize
Description
Gets the size of a file in bytes.
Syntax
const size = await web.files.fileSize({
filePath: 'path/to/file.txt'
});
Parameters
- filePath (required) - Path to the file (relative or absolute)
Returns
Promise<number> - Returns a promise that resolves with the file size in bytes, or -1 if the file doesn't exist or an error occurs
Examples
Simple example
const size = await web.files.fileSize({
filePath: 'document.pdf'
});
if (size >= 0) {
console.log('File size:', size, 'bytes');
} else {
console.log('File not found');
}
Format file size
const size = await web.files.fileSize({
filePath: 'video.mp4'
});
function formatBytes(bytes) {
if (bytes < 1024) return bytes + ' B';
if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(2) + ' KB';
if (bytes < 1024 * 1024 * 1024) return (bytes / (1024 * 1024)).toFixed(2) + ' MB';
return (bytes / (1024 * 1024 * 1024)).toFixed(2) + ' GB';
}
console.log('File size:', formatBytes(size));
Check file size before upload
const maxSize = 10 * 1024 * 1024; // 10 MB
const size = await web.files.fileSize({
filePath: 'upload.zip'
});
if (size > maxSize) {
alert('File is too large. Maximum size is 10 MB.');
} else if (size >= 0) {
// Proceed with upload
console.log('File size OK');
}
Use Cases
- Check file size before uploading
- Display file size to users
- Validate file sizes against limits
- Calculate total size of multiple files
- Monitor disk space usage
Notes
- Returns
-1if the file doesn't exist - Returns
-1if an error occurs - Size is returned in bytes (use conversion for KB/MB/GB)
- Relative paths are resolved from the application executable directory
- For large files (>2GB), the value is still accurate (uses Int64)