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 ()
}คุณสามารถใช้ Baraka กับไลบรารีเซิร์ฟเวอร์ HTTP อื่น ๆ เพียงแค่ผ่าน http.request ไปยังฟังก์ชัน parser.parse
คุณสามารถกรองชิ้นส่วนด้วยคุณสมบัติของพวกเขาเช่นประเภทเนื้อหาของชิ้นส่วน Parser สามารถตรวจสอบไบต์ของชิ้นส่วนและตรวจจับประเภทของชิ้นส่วนกับผู้ตรวจสอบ
// 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 จะตรวจสอบแต่ละส่วนและมันจะส่งคืน JPEG จากฟังก์ชั่นการแยกวิเคราะห์ คุณสามารถสร้างผู้ตรวจสอบและตัวกรองของคุณเอง
ยินดีต้อนรับคำขอดึง กรุณาเปิดปัญหาก่อนเพื่อหารือเกี่ยวกับสิ่งที่คุณต้องการเปลี่ยนแปลง
โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตการทดสอบตามความเหมาะสม
มิกซ์