Votre stockage
Tout stockage qui parle S3.
Vos colis vivent dans votre propre bucket. Indiquez un endpoint et colis ajuste les deux réglages qu’attendent les fournisseurs compatibles S3 ; les deux restent modifiables. La CLI écrit un fichier de départ pour chaque fournisseur, et verifier vous dit si ça marche vraiment.
const store = createBucket({
bucket: 'livraisons',
endpoint: 'https://…', // set this, and two defaults follow:
// region: 'auto' // for providers that ignore the region
// forcePathStyle: true // https://endpoint/bucket/key
})Fournisseurs
Choisissez le vôtre.
Pas dans la liste ? Tout autre stockage compatible S3 fonctionne de la même façon : un endpoint, une paire de clés, et colis verifier pour confirmer que les écritures conditionnelles sont respectées. La CLI donne les détails.
Gros fichiers
Une règle CORS, pour les envois qui contournent la fonction.
Les gros fichiers vont du navigateur directement au bucket. Le bucket doit autoriser `PUT` depuis votre page de livraison et la laisser lire l’`ETag` de chaque réponse. Sans cette règle, les petits fichiers fonctionnent toujours.
[
{
"AllowedOrigins": ["https://drop.example.com"],
"AllowedMethods": ["PUT"],
"AllowedHeaders": ["*"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 3600
}
]Sur AWS S3, collez-la sous Permissions → Cross-origin resource sharing ; le tableau de bord Cloudflare R2 prend le même JSON dans les réglages du bucket. Ajoutez http://localhost:3400 pour essayer en développement.
Vous envoyez. Ils valident. Vous le savez.
Votre stockage, une page de livraison à votre nom, un webhook à chaque étape. Rien d’hébergé chez un tiers.