Reading Files from Disk
Read a file from the local filesystem and get a base64 buffer and metadata. Use this when you need to read a file from disk before uploading it to cloud storage.
Use ductape.storage.files.read(path).
Quick Example
- TypeScript
- Java
- Go
- .NET
const file = await ductape.storage.files.read('path/to/file.pdf');
// Use the result in an upload
await ductape.storage.upload({
storage: 'main-storage',
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType,
});
Map<String, Object> file = ductape.storage.files.read('path/to/file.pdf');
// Use the result in an upload
ductape.storage.upload(Map.of(
"storage", "main-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType
));
file := client.storage.files.read('path/to/file.pdf');
// Use the result in an upload
client.storage.upload({
"storage": "main-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType,
});
var file = await ductape.storage.files.read('path/to/file.pdf');
// Use the result in an upload
await ductape.storage.upload({
["storage"] = "main-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType,
});
How It Works
storage.files.read(path):
- Reads the file from disk (server-side path)
- Encodes content as base64 in the returned
buffer - Sets
fileNamefrom the path basename - Detects MIME type from the path/extension
Response
interface IFileReadResult {
buffer: string; // Base64-encoded content
fileName: string; // Basename of the path
mimeType: string; // Detected MIME type (may be '')
}
| Field | Description |
|---|---|
buffer | Base64-encoded file content |
fileName | Name extracted from the path |
mimeType | MIME type (empty string if unknown) |
Examples
Read and upload
- TypeScript
- Java
- Go
- .NET
const file = await ductape.storage.files.read('invoices/invoice-001.pdf');
await ductape.storage.upload({
storage: 'invoices-storage',
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType || 'application/pdf',
});
Map<String, Object> file = ductape.storage.files.read('invoices/invoice-001.pdf');
ductape.storage.upload(Map.of(
"storage", "invoices-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType || 'application/pdf'
));
file := client.storage.files.read('invoices/invoice-001.pdf');
client.storage.upload({
"storage": "invoices-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType || 'application/pdf',
});
var file = await ductape.storage.files.read('invoices/invoice-001.pdf');
await ductape.storage.upload({
["storage"] = "invoices-storage",
fileName: file.fileName,
buffer: Buffer.from(file.buffer, 'base64'),
mimeType: file.mimeType || 'application/pdf',
});
Read multiple files
- TypeScript
- Java
- Go
- .NET
const files = await Promise.all([
ductape.storage.files.read('docs/report.pdf'),
ductape.storage.files.read('images/chart.png'),
]);
Map<String, Object> files = Promise.all([
ductape.storage.files.read('docs/report.pdf'),
ductape.storage.files.read('images/chart.png'),
]);
files := Promise.all([
client.storage.files.read('docs/report.pdf'),
client.storage.files.read('images/chart.png'),
]);
var files = await Promise.all([
ductape.storage.files.read('docs/report.pdf'),
ductape.storage.files.read('images/chart.png'),
]);