▄▄▄▄ ▄▄▄ ██▀███ ▄▄▄ ██ ▄█▀▄▄▄ ▄█▀▄▄▄
▓█████▄ ▒████▄ ▓██ ▒ ██▒▒████▄ ██▄█▒▒████▄ ██▄█▒▒████▄
▒██▒ ▄██▒██ ▀█▄ ▓██ ░▄█ ▒▒██ ▀█▄ ▓███▄░▒██ ▀█▄ ▀█▄
▒██░█▀ ░██▄▄▄▄██ ▒██▀▀█▄ ░██▄▄▄▄██ ▓██ █▄░██▄▄▄▄██ █▄░██▄▄▄▄██
░▓█ ▀█▓ ▓█ ▓██▒░██▓ ▒██▒ ▓█ ▓██▒▒██▒ █▄▓█ ▓██▒ ▓██▒
░▒▓███▀▒ ▒▒ ▓▒█░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░▒ ▒▒ ▓▒▒▒ ▓▒█░ ▓▒█░
▒░▒ ░ ▒ ▒▒ ░ ░▒ ░ ▒░ ▒ ▒▒ ░▒ ▒░ ▒ ▒▒ ░ ░ ░
░ ░ ░ ▒ ░░ ░ ▒ ░ ░░ ░ ░ ▒ ▒ ▒
░ ░ ░ ░ ░ ░░ ░ ░ ░ ░
░
Ein Tool zum Umgang mit Dateien -Uploads für HTTP -Server
Erleichtert es einfacher, Operationen mit Dateien aus der HTTP -Anfrage zu erstellen.
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 ()
}Sie können Baraka mit den anderen HTTP -Serverbibliotheken verwenden. Übergeben Sie einfach die HTTP.Request an die Funktion parser.Parse.
Sie können Teile nach ihren Eigenschaften filtern, wie den Inhaltstyp von Teil. Parser kann die Bytes des Teils inspizieren und den Typ des Teils mit dem Inspektor erkennen.
// 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" ))Jetzt wird Parser den einzelnen Teil inspizieren und die JPEG -Funktionen aus der Parse -Funktion zurückgeben. Sie können Ihren eigenen Inspektor und Filter machen.
Pull -Anfragen sind willkommen. Bitte öffnen Sie zuerst ein Problem, um zu besprechen, was Sie ändern möchten.
Bitte stellen Sie sicher, dass Sie nach Bedarf Tests aktualisieren.
MIT