89 lines
2.2 KiB
Markdown
89 lines
2.2 KiB
Markdown
# Module `blob`
|
|
|
|
Ce module permet de manipuler des fichiers ("blobs") au sein de votre application.
|
|
|
|
## Fonctions de rappel
|
|
|
|
Pour permettre aux utilisateurs de téléverser/télécharger des fichiers ("blobs") dans votre application, il vous faudra déclarer 2 fonctions dans votre fichier `server/main.js`.
|
|
|
|
### `onBlobUpload(ctx: Context, blobId: string, blobInfo: BlobInfo, metadata: Metadata)`
|
|
|
|
> `TODO`
|
|
|
|
#### Usage
|
|
|
|
```js
|
|
function onBlobUpload(ctx, blobId, blobInfo, metadata) {
|
|
// Autoriser le téléversement et indiquer que le fichier doit être stocké dans le bucket "my-bucket"
|
|
return { allow: true, bucket: "my-bucket" };
|
|
}
|
|
```
|
|
|
|
### `onBlobDownload(ctx: Context, bucketName: string, blobId: string)`
|
|
|
|
> `TODO`
|
|
|
|
#### Usage
|
|
|
|
```js
|
|
function onBlobDownload(ctx, bucketName, blobId) {
|
|
// Autoriser le téléchargement
|
|
return { allow: true };
|
|
}
|
|
```
|
|
|
|
## Méthodes
|
|
|
|
### `blob.listBuckets(ctx: Context): string[]`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.getBlobInfo(ctx: Context, bucketName: string, blobId: string): BlobInfo`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.writeBlob(ctx: Context, bucketName: string, blobId: string, data: any)`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.readBlob(ctx: Context, bucketName: string, blobId: string): ArrayBuffer`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.listBlobs(ctx: Context, bucketName: string): BlobInfo[]`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.deleteBlob(ctx: Context, bucketName: string, blobId: string)`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.deleteBucket(ctx: Context, bucketName: string)`
|
|
|
|
> `TODO`
|
|
|
|
### `blob.getBucketSize(ctx: Context, bucketName: string): number`
|
|
|
|
> `TODO`
|
|
|
|
## Objets
|
|
|
|
### `Context`
|
|
|
|
Voir la documentation de l'objet [`Context`](./context.md#Context).
|
|
|
|
### `BlobInfo`
|
|
|
|
```typescript
|
|
interface BlobInfo {
|
|
id: string // Identifiant du blob
|
|
bucket: string // Nom du bucket contenant le blob
|
|
size: number // Taille du blob
|
|
modTime: number // Timestamp Unix de dernière modification du blob
|
|
contentType: string // Type MIME du contenu du blob
|
|
}
|
|
```
|
|
|
|
### `Metadata`
|
|
|
|
L'objet `Metadata` est un objet clé/valeur arbitraire transmis avec la requête de téléversement. Voir la méthode [`Edge.Client.upload(blob, metadata)`](../client-api/README.md#edge-upload-blob-blob-metadata-object-promise) du SDK client. |