HTTP contract
Implement list / upload / delete / rename on your origin and pass
http: { baseUrl } to FileStorageSDK.mount. Full routes are documented in the
integration guide.
PHP / Laravel / Symfony
There is no separate PHP SDK binary. Mount the CDN JS from Blade/Twig, then proxy storage with a thin Laravel or Symfony controller that speaks the HTTP contract (or the S3 proxy if you already use the AWS SDK).
<!-- Blade / Twig -->
<script src="https://cdn.filestorage.io/file-storage.min.js"></script>
<script>
FileStorageSDK.mount({
el: '#fm',
apiKey: '{{ $apiKey }}',
http: { baseUrl: '{{ url('/filestorage-proxy') }}' },
})
</script> Azure Blob & Google Cloud Storage
Keep cloud credentials on the server. From the browser use the helpers (aliases of HttpFileStore):
FileStorageSDK.mount({
el: '#fm',
apiKey: 'fs_live_…',
store: FileStorageSDK.createAzureBlobStore({ baseUrl: 'https://your-app/azure-proxy' }),
})
// or FileStorageSDK.createGcsStore({ baseUrl: 'https://your-app/gcs-proxy' })
// GCS with S3 interoperability can also use S3ProxyFileStore. Drupal & Joomla
First-party CMS packages remain on the roadmap. Until then, embed the CDN script in a custom module/block the same
way as any HTML page, and point http or s3.proxyBaseUrl at your backend.