application/x-www-form-urlencoded
Когато енктайпа е application/x-www-form-urlencoded – праща данните все едно са енкоднати с urlencode()
Демек „plamen“ ‘georgiev’ го праща като %22plamen%22+%27georgiev%27
Aко имаш file поле за ъплоуд на файл – качва само името на файла, пак енкоднато все едно с urlencode()
Eто примерно request body:
fldName=%22plamen%22+%27georgiev%27&fldFile=somefilename.jpg&fldSubmit=Kachvai
multipart/form-data
Когато енктайпа е multipart/form-data – праща данните по съвсем друг начин.
Content-Type: multipart/form-data; boundary=–––––––––265001916915724 (някакъв номер, различен за всеки отделен request)
и после разделя стойностите на отделните полета със:
––––––––––265001916915724
Content-Disposition: form-data; name=“fldName“
„plamen“ ‘georgiev’
––––––––––265001916915724
Content-Disposition: form-data; name=“fldFile“; filename=“20170916_101204.jpg“
Content-Type: image/jpeg
ÿØÿájYÿ*§(€%$ЕРge4$@Т23r2rqХСАТ€§%€%$СА&%€УÿájY… и т.н…. някаква двоична чудесия…
text/plain
Когато енктайпа е text/plain – праща данните подобно на application/x-www-form-urlencoded но не енкоднати. На качен файл с „file“ поле му качва само името.
fldName=“plamen“ ‘georgiev’
fldFile=somefilename.jpg
fldSubmit=Kachvai
Достигам до извод, че ако искаш да качваш файл – само multipart/form-data, иначе качва само името на файла. И мотодът да е POST.