▄▄▄▄ ▄▄▄ ██▀███ ▄▄▄ ██ ▄█▀▄▄▄
▓█████▄ ▒████▄ ▓██ ▒ ██▒▒████▄ ██▄█▒▒████▄
▒██▒ ▄██▒██ ▀█▄ ▓██ ░▄█ ▒▒██ ▀█▄ ▓███▄░▒██ ▀█▄
▒██░█▀ ░██▄▄▄▄██ ▒██▀▀█▄ ░██▄▄▄▄██ ▓██ █▄░██▄▄▄▄██
░▓█ ▀█▓ ▓█ ▓██▒░██▓ ▒██▒ ▓█ ▓██▒▒██▒ █▄▓█ ▓██▒
░▒▓███▀▒ ▒▒ ▓▒█░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░▒ ▒▒ ▓▒▒▒ ▓▒█░
▒░▒ ░ ▒ ░ ░▒ ░ ▒░ ▒░ ▒▒ ░░ ░▒ ▒░ ▒░ ▒ ▒▒ ░
░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░░ ░ ░ ▒
░ ░ ░ ░ ░ ░░ ░ ░ ░
░
Uma ferramenta para lidar com uploads de arquivos para servidores HTTP
facilita a fabricação de operações com arquivos a partir da solicitação HTTP.
go get github.com/xis/baraka/v2 func main () {
// create a parser
parser := baraka . NewParser (baraka. ParserOptions {
MaxFileSize : 5 << 20 ,
MaxFileCount : 5 ,
MaxParseCount : 5 ,
})
store := baraka . NewFilesystemStorage ( "./files" )
router := gin . Default ()
router . POST ( "/upload" , func ( c * gin. Context ) {
// parse
request , err := parser . Parse ( c . Request )
if err != nil {
fmt . Println ( err )
}
// get the form
images , err := request . GetForm ( "images" )
if err != nil {
fmt . Println ( err )
}
// save
for key , image := range images {
err = store . Save ( "images" , "image_" + strconv . Itoa ( key ), image )
if err != nil {
fmt . Println ( err )
}
}
})
router . Run ()
}Você pode usar o Baraka com as outras bibliotecas de servidores HTTP, basta passar o http.request para a função Parser.parse.
Você pode filtrar as peças por suas propriedades, como o tipo de conteúdo da parte. O analisador pode inspecionar os bytes da peça e detectar o tipo de peça com o inspetor.
// create a parser
parser := baraka . NewParser (baraka. ParserOptions {
MaxFileSize : 5 << 20 ,
MaxFileCount : 5 ,
MaxParseCount : 5 ,
})
// give parser an inspector
parser . SetInspector ( baraka . NewDefaultInspector ( 512 ))
// give parser a filter
parser . SetFilter ( baraka . NewExtensionFilter ( ".jpg" ))Agora, o Parser inspecionará a cada peça e ele apenas retornará os JPEG da função Parse. Você pode fazer seu próprio inspetor e filtro.
Solicitações de tração são bem -vindas. Por favor, abra um problema primeiro para discutir o que você gostaria de mudar.
Certifique -se de atualizar os testes conforme apropriado.
Mit