uplo
v0.21.0
Lide com uploads de arquivos para vários serviços de armazenamento, como Amazon S3, Google Cloud ou etc. Ele também suporta vários tipos de adaptadores ORM, como Prisma.
Adicione @uplo/node
ao seu package.json
yarn add @uplo/node
Instale o adaptador (por exemplo Prisma)
yarn add @uplo/adapter-prisma dataloader
Instalar serviço (por exemplo S3)
yarn add @uplo/service-s3
Definir instância uplo
import Uplo from '@uplo/node' ;
import PrismaAdapter from '@uplo/adapter-prisma' ;
import GCSService from '@uplo/service-gcs' ;
const config = {
privateKey : process . env . APPLICATION_SECRET , // Used to sign direct upload keys
signedIdExpiresIn : 60 * 60 , // Time how long a Signed ID is valid
} ;
const uplo = Uplo ( {
config ,
adapter : new PrismaAdapter ( { prisma } ) ,
services : {
s3 : S3Service ( {
isPublic : false ,
region : process . env . AWS_REGION ,
bucket : process . env . AWS_BUCKET ,
accessKeyId : '*****' ,
secretAccessKey : '*****' ,
} ) ,
} ,
attachments : {
user : {
avatar : true , // pass true to use default options
} ,
post : {
images : { multiple : true }
}
} ,
} ) ;
const attachment = await uplo . attachments . user ( 123 ) . avatar . attachFile ( await blobFileInput ( {
path : '/home/images/image.png'
} ) )
O pacote está disponível como código aberto sob os termos da licença MIT.