q u e s t ) F o r m F i l e ( k e y s t r i n g ) ( m u l t i p a r t . F i l e , * m u l t i p a r t . F i l e H e a d e r , e r r o r ) { i f r . M u l t i p a r t F o r m = = m u l t i p a r t B y R e a d e r { r e t u r n n i l , n i l , e r r o r s . N e w ( " h t t p : m u l t i p a r t h a n d l e d b y M u l t i p a r t R e a d e } i f r . M u l t i p a r t F o r m = = n i l { e r r : = r . P a r s e M u l t i p a r t F o r m ( d e f a u l t M a x M e m o r y ) i f e r r ! = n i l { r e t u r n n i l , n i l , e r r } } i f r . M u l t i p a r t F o r m ! = n i l & & r . M u l t i p a r t F o r m . F i l e ! = n i l { i f f h s : = r . M u l t i p a r t F o r m . F i l e [ k e y ] ; l e n ( f h s ) > 0 { f , e r r : = f h s [ 0 ] . O p e n ( ) r e t u r n f , f h s [ 0 ] , e r r } } r e t u r n n i l , n i l , E r r M i s s i n g F i l e } 11