/** Ċ Ġ* ĠAndroid ĠJun gle - Major - Https - Kotlin Ġframework Ġproject . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠAr no ĠZ hang Ġ< zy f good 1 2 @ 1 6 3 . com > Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . jun gle . major https . kotlin . request . upload Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ Ċ interface ĠMultip art Form Item Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠO CT ET _ MIME _ TYPE Ġ= Ġ" application / octet - stream " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Form Name (): ĠString ĊĊĠĠĠ Ġfun Ġget Form Content (): ĠByteArray ? ĊĊĠĠĠ Ġfun Ġget MimeType (): ĠString Ċ } ĊĊ Ċ open Ġclass ĠBinary Multipart Form Item Ġ: ĠMultip art Form Item Ġ{ ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġm Form Name : ĠString ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġm Form Content : ĠByteArray ĊĠĠĠ Ġprotected Ġvar Ġm MimeType Ġ= ĠMultip art Form Item . OCT ET _ MIME _ TYPE ĊĊĊĠĠĠ Ġconstructor () Ġ{} ĊĊĠĠĠ Ġconstructor ( form Name : ĠString , Ġcontent : ĠByteArray ) Ġ: Ġthis ( form Name , Ġnull , Ġcontent ) Ġ{} ĊĊĠĠĠ Ġconstructor ( form Name : ĠString , ĠmimeType : ĠString ?, Ġcontent : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Form Name Ġ= Ġform Name ĊĠĠĠĠĠĠĠ Ġm Form Content Ġ= Ġcontent ĊĠĠĠĠĠĠĠ Ġm MimeType Ġ= ĠmimeType Ġ?: ĠMultip art Form Item . OCT ET _ MIME _ TYPE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Form Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Form Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Form Content (): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Form Content ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget MimeType (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm MimeType ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠFile Upload Form Item Ġ: ĠBinary Multipart Form Item Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm FilePath : ĠString ĊĊĊĠĠĠ Ġconstructor () Ġ{} ĊĊĠĠĠ Ġconstructor ( filePath : ĠString ) Ġ: Ġthis ( filePath , Ġnull , ĠByteArray ( 0 )) Ġ{} ĊĊĠĠĠ Ġconstructor ( filePath : ĠString , Ġcontent : ĠByteArray ) Ġ: Ġthis ( filePath , Ġnull , Ġcontent ) Ġ{} ĊĊĠĠĠ Ġconstructor ( filePath : ĠString , ĠmimeType : ĠString ?, Ġcontent : ĠByteArray ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġsuper ( File ( filePath ). name , ĠmimeType , Ġcontent ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm FilePath Ġ= ĠfilePath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Form Content (): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġm Form Content Ġ= ĠgetFile Content ( m FilePath ) ĊĠĠĠĠĠĠĠ Ġreturn Ġm Form Content ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget MimeType (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm MimeType ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetFile Content ( filePath : ĠString ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( filePath )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠByteArray ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstream : ĠFileInputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstream Ġ= ĠFileInputStream ( filePath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠByteArray ( stream . available ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstream . read ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stream Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstream . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠByteArray ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ