baraka
v2.0.3 release
▄▄▄▄ ▄▄▄▄ ██▀███ ▄▄▄ ██ ▄█▀▄▄▄ ▄█▀▄▄▄
▓█████▄ ▓█████▄ ▓██ ▒████▄ ██▒▒████▄ ██▄█▒▒████▄ ██▄█▒▒████▄
▒██▒ ▒██▒ ▀█▄ ▄██▒██ ▄██▒██ ░▄█ ▒▒██ ▀█▄ ▓███▄░▒██ ▀█▄ ▀█▄
▒██░█▀ ▒██░█▀ ▒██▀▀█▄ ░██▄▄▄▄██ ▓██ █▄░██▄▄▄▄██ █▄░██▄▄▄▄██
░▓█ ░▓█ ▓█ ▀█▓ ▀█▓ ▒██▒ ▓█ ▓██▒▒██▒ █▄▓█ ▓██▒ ▓██▒
░▒▓███▀▒ ░▒▓███▀▒ ░▒▓███▀▒ ▓▒█░░ ▒▒ ░▒▓░ ▒▒ ▒▒ ▓▒█░▒ ▒▒ ▓▒▒▒ ▓▒█░ ▓▒█░
▒░▒ ▒░▒ ▒░▒ ▒ ░ ░ ░▒ ░▒ ░ ▒░ ▒░ ▒ ▒▒ ░░ ░░ ░▒ ▒░ ▒ ▒▒ ░ ░
░ ░ ░ ░ ░ ░░ ░░ ░ ░ ░ ▒ ░ ░░ ░ ░ ▒ ▒
░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░
░
HTTP 서버의 파일 업로드를 처리하는 도구
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 ()
}다른 HTTP 서버 라이브러리와 함께 Baraka를 사용할 수 있으며 http.request를 Parser.parse 함수로 전달하십시오.
부품의 컨텐츠 유형과 같이 속성별로 부품을 필터링 할 수 있습니다. 파서는 부품의 바이트를 검사하고 검사관과의 부품 유형을 감지 할 수 있습니다.
// 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" ))이제 Parser는 각 부분을 검사하고 Parse 기능에서 JPEG를 반환합니다. 자신의 검사관과 필터를 만들 수 있습니다.
풀 요청을 환영합니다. 먼저 문제를 열어서 변경하려는 내용에 대해 논의하십시오.
테스트를 적절하게 업데이트하십시오.
MIT