ð āļĢāļ°āļāļ OCR āļŠāļģāļŦāļĢāļąāļāļāđāļēāļāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāļĢāļāļĒāļāļāđ (LPR)
ð Thai Vehicle License Plate OCR
āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđ Thai Vehicle License Plate OCR API āđāļ§āļāļĢāđāļāļąāļ 2.0 āļāļĨāļīāļāļ āļąāļāļāđ AI āļāļĩāđāļāļąāļāļāļēāđāļāļĒ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ āļāļģāļāļąāļ API āļāļāļāđāļĢāļēāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļāļķāļāļāđāļāļĄāļđāļĨāļŦāļĄāļēāļĒāđāļĨāļāļāļ°āđāļāļĩāļĒāļāļĢāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļĢāļāļĒāļāļāđāļāļēāļāļĢāļđāļāļ āļēāļāļāđāļ§āļĒāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§āļŠāļđāļ API āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđ JPEG, JPG, PNG āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĢāļđāļāļ āļēāļāļĢāļāļĒāļāļāđāđāļāđāļ āļēāļĒāđāļ 1-2 āļ§āļīāļāļēāļāļĩ
āđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļâ
-
āļāđāļāļāļģāļŦāļāļāđāļāļ·āđāļāļāļāđāļ
- API key āļāļēāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ
- āļĢāļđāļāļ āļēāļāļĢāļāļĒāļāļāđāļāļĩāđāļĄāļĩāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļ
- āļĢāļđāļāđāļāļāđāļāļĨāđāļāļĩāđāļĢāļāļāļĢāļąāļ: JPEG, JPG, PNG
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 2MB
-
āđāļĢāļīāđāļĄāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
- āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§ (1-2 āļ§āļīāļāļēāļāļĩāļāđāļāļ āļēāļ)
- āļāļēāļĢāļāļķāļāļāđāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ (āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļāļĒāļĢāļ§āļĄ 92.28%)
- āļĢāļāļāļĢāļąāļāļŦāļĨāļēāļĒāļĒāļĩāđāļŦāđāļāđāļĨāļ°āļāļĢāļ°āđāļ āļāļĢāļāļĒāļāļāđ
-
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ
- āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđāļēāļāđ āļĢāļ§āļĄāļāļķāļ:
- āļŦāļĄāļēāļĒāđāļĨāļāļāļ°āđāļāļĩāļĒāļāļĢāļ
- āļĒāļĩāđāļŦāđāļāļĢāļ
- āļāļĢāļ°āđāļ āļāļĢāļ
- āļŠāļĩāļĢāļ
- āļāļąāļāļŦāļ§āļąāļāļāļĩāđāļāļāļāļ°āđāļāļĩāļĒāļ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļĢāļāļĒāļāļāđ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāļāļĩāđāļŦāļēāļĒāđāļ
- āļĢāļđāļāđāļāļāļāļēāļĢāļāļāļāļŠ āļāļāļ JSON āļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļ
- āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđāļēāļāđ āļĢāļ§āļĄāļāļķāļ:
-
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļāļīāļāļąāļāļīāļāļēāļĄāļāļāļĢāļ°āđāļāļĩāļĒāļ
- āļāļāļīāļāļąāļāļīāļāļēāļĄ GDPR āđāļĨāļ° PDPA
- āđāļĄāđāļĄāļĩāļāļēāļĢāđāļāđāļāļĢāļąāļāļĐāļēāļāđāļāļĄāļđāļĨāļŦāļĨāļąāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāļĢāļļāļāļēāđāļĒāļĩāđāļĒāļĄāļāļĄ API Portal āđāļāļ·āđāļāļāļđ API key āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļāļāļļāļāļŦāļĢāļ·āļāļāļ API key āđāļŦāļĄāđ
āļāļąāļ§āļāļĒāđāļēāļâ
1. āļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļāļāļąāļāļĢāļāļĒāļāļāđâ
āļāļąāļ§āļāļĒāđāļēāļāļāļĩāđ 1
āļāļąāļ§āļāļĒāđāļēāļāļāļĩāđ 2
āļāļąāļ§āļāļĒāđāļēāļāļāļĩāđ 3
2. āļāļąāļ§āļāļĒāđāļēāļāđāļāļĨāđāļĢāļāļĒāļāļāđâ
āļāļģāļāļâ
curl --location 'https://api.iapp.co.th/license-plate-recognition/file' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
āļāļēāļĢāļāļāļāļŠāļāļāļâ
{
"conf": 93.30192566,
"country": "th",
"infer_time(s)": 0.18,
"is_missing_plate": "no",
"is_vehicle": "yes",
"lp_number": "āļāļĢ5539",
"message": "success",
"province": "th-14:Phra Nakhon Si Ayutthaya (āļāļĢāļ°āļāļāļĢāļĻāļĢāļĩāļāļĒāļļāļāļĒāļē)",
"status": 200,
"vehicle_body_type": "tractor-trailer",
"vehicle_brand": "honda",
"vehicle_color": "white",
"vehicle_model": "honda_jazz",
"vehicle_orientation": "135",
"vehicle_year": "2010-2014"
}
āļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļâ
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļâ
- āļāļēāļĢāļāļāļāļģāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļ: āļāļķāļāđāļĨāļ°āļāđāļēāļāļŦāļĄāļēāļĒāđāļĨāļāļāļ°āđāļāļĩāļĒāļāļĢāļāđāļāļĒāļāļēāļāļĢāļđāļāļ āļēāļāđāļāđāļāļĒāđāļēāļāđāļĄāđāļāļĒāļģ
- āļāđāļāļĄāļđāļĨāļĢāļāļĒāļāļāđāļāļĩāđāļāļĢāļāļāļāļĨāļļāļĄ: āļĢāļ°āļāļļāđāļĨāļ°āđāļŦāđāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđāļēāļāđ āđāļāđāļ:
- āļŦāļĄāļēāļĒāđāļĨ āļāļāļ°āđāļāļĩāļĒāļāļĢāļ
- āļāļąāļāļŦāļ§āļąāļāļāļĩāđāļāļāļāļ°āđāļāļĩāļĒāļ
- āļĒāļĩāđāļŦāđāļāļĢāļ
- āļĢāļļāđāļāļĢāļ
- āļāļĩāļāļĩāđāļāļĨāļīāļ
- āļāļīāļĻāļāļēāļāļāļāļāļĢāļ (āļāđāļēāļāļŦāļāđāļē āļāđāļēāļāļāđāļēāļ āļāđāļēāļāļŦāļĨāļąāļ)
- āļāļĢāļ°āđāļ āļāļĢāļ (āđāļāđāļ āļĢāļāđāļāđāļ āļĢāļ SUV āļĢāļāļāļĢāļĢāļāļļāļ)
- āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ: āđāļāđāļāļąāđāļāļāļāļāļ§āļīāļāļĩāļāļēāļĢāļĄāļāļāđāļŦāđāļāļāđāļ§āļĒāļāļāļĄāļāļīāļ§āđāļāļāļĢāđāļāļąāđāļāļŠāļđāļāđāļāļ·āđāļāđāļŦāđāļāļēāļĢāļāļāļāļģāļāļĩāđāđāļĄāđāļāļĒāļģāđāļĄāđāđāļāļŠāļ āļēāļāđāļŠāļāđāļĨāļ°āļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄāļāļĩāđāļāđāļēāļāļēāļĒ
āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļĢāļāļāļĢāļąāļâ
- āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāđāļĢāļĩāļĒāļĨāđāļāļĄāđ: āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļĩāđāļāđāļāļāđāļāđāđāļ§āļĨāļē āđāļāđāļ āļāļēāļĢāđāļāđāļāļāđāļēāļāđāļēāļāļāļēāļāđāļĨāļ°āļāļēāļĢāļāļīāļāļāļēāļĄāļĢāļāļĒāļāļāđ
- āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāļāļĨāļļāđāļĄ: āļāļąāļāļāļēāļĢāļĢāļđāļāļ āļēāļāļŦāļĨāļēāļĒāļ āļēāļāđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļŠāļģāļŦāļĢāļąāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļāļēāļāđāļŦāļāđ
- āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāļĢāļąāļāļāļąāļ§āļāđāļāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ: āļāļģāļāļēāļāđāļāđāļāļĒāđāļēāļāļāđāļēāđāļāļ·āđāļāļāļ·āļāđāļāļŠāļāļēāļāļāļēāļĢāļāđāļāđāļēāļāđ āļĢāļ§āļĄāļāļķāļāļŠāļ āļēāļāđāļŠāļāļāđāļāļĒāđāļĨāļ°āļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄāļāļĩāđāļĄāļĩāđāļŠāļāļāđāļē
āļāļĢāļāļĩāļāļēāļĢāđāļāđāļāļēāļâ
- āļāļēāļĢāđāļāđāļāļāđāļēāļāđāļēāļāļāļēāļāļāļąāļāđāļāļĄāļąāļāļī: āļāļģāđāļŦāđāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļģāļĢāļ°āļāđāļēāļāđāļēāļāļāļēāļāđāļāđāļāđāļāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļāđāļāļĒāļāļēāļĢāļāļāļāļģāļĢāļāļĒāļāļāđāđāļĨāļ°āļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļāđāļĢāļĩāļĒāļĨāđāļāļĄāđ
- āļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāđāļāļāļāļĢāļ: āļāļģāđāļŦāđāļāļēāļĢāļāļąāļāļāļķāļāļāļēāļĢāđāļāđāļēāđāļĨāļ°āļāļāļāļāļāļāļĢāļāļĒāļāļāđāđāļāļŠāļāļēāļāļāļĩāđāļāļāļāļĢāļāđāļāđāļāđāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī
- āļāļēāļĢāļāļīāļāļāļēāļĄāļĢāļāļĒāļāļāđ: āļāļĢāļąāļāļāļĢāļļāļāđāļĨāļāļīāļŠāļāļīāļāļŠāđāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāļđāļāļāļīāļāđāļāļĒāļāļēāļĢāļĢāļ§āļĄāļāļēāļĢāļāļāļāļģāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļ·āđāļāļĢāļ°āļāļļāļāļąāļ§āļĢāļ
- āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāđāļāđāļēāļĢāļ°āļ§āļąāļ: āļāļĢāļąāļāļāļĢāļļāļāļĢāļ°āļāļāļĢāļąāļāļĐāļēāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāļāđāļ§āļĒāļāļēāļĢāļāļīāļāļāļēāļĄāđāļĨāļ°āļĢāļ°āļāļļāļāļąāļ§āļĢāļ
āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļīāđāļĄāđāļāļīāļĄâ
- āļāļēāļĢāļāļŠāļēāļāļĢāļ§āļĄāļāļĩāđāļāđāļēāļĒ: āļĄāļĩ API āđāļāļ RESTful āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļŠāļēāļāļĢāļ§āļĄāđāļāđāļēāļāļąāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļĩāđāļĄāļĩāļāļĒāļđāđāđāļāđāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļ
- āļĢāļ§āļāđāļĢāđāļ§āđāļĨāļ°āđāļāļ·āđāļāļāļ·āļāđāļāđ: āđāļŦāđāđāļ§āļĨāļēāļāļāļāļŠāļāļāļāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§āđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļĩāđāļŠāļĄāđāļģāđāļŠāļĄāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļ
- āļŠāļēāļĄāļēāļĢāļāļāļĒāļēāļĒāđāļĨāļ°āļāļĢāļąāļāļāļāļēāļāđāļāđ: āļĢāļāļāļĢāļąāļāļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļēāļĢāļāļĒāļēāļĒāđāļāļīāđāļĄāđāļāļīāļĄāļāļēāļĄāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢāļāļāļāļāļđāđāđāļāđāļāļĩāđāļāļąāļāļāļēāļāļķāđāļ
āļāđāļāļĄāļđāļĨāļāđāļēāļāļāļīāļ APIâ
āļāļļāļāļŠāļīāđāļāļŠāļļāļâ
POST
https://api.iapp.co.th/license-plate-recognition/file
āļŠāđāļ§āļāļŦāļąāļ§â
āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāļāļāļīāļāļēāļĒ |
---|---|---|
apikey | String | API Key |
āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđâ
āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āđāļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
---|---|---|---|---|
vehicle_image | object | body | Yes | āļĢāļđāļāļ āļēāļāļāļĩāđāļĄāļĩāļĢāļāļĒāļāļāđ |
āļāļģāļāļāļīāļāļēāļĒāļāļēāļĢāļāļāļāļŠāļāļāļâ
āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđ | āļāļģāļāļāļīāļāļēāļĒ |
---|---|
conf | āļāļ°āđāļāļāļāļ§āļēāļĄāļĄāļąāđāļāđāļāļāļāļāļāļēāļĢāļāļāļāļģāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāđāļāđāļāđāļāļāļĢāđāđāļāđāļāļāđ |
infer_time(s) | āđāļ§āļĨāļēāļāļĩāđāđāļāđāđāļāļāļēāļĢāļāļāļļāļĄāļēāļāđāļāđāļāļ§āļīāļāļēāļāļĩ |
is_missing_plate | āļĢāļ°āļāļļāļ§āđāļēāļĄāļĩāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāļŦāļēāļĒāđāļāđāļāļĢāļđāļāļ āļēāļāļŦāļĢāļ·āļāđāļĄāđ āļāđāļēāļāļĩāđāđāļāđāļāđāļāđāļāđ: "yes" āļŦāļĢāļ·āļ "no" |
is_vehicle | āļĢāļ°āļāļļāļ§āđāļēāļĄāļĩāļĢāļāļĒāļāļāđāļāļĒ āļđāđāđāļāļĢāļđāļāļ āļēāļāļŦāļĢāļ·āļāđāļĄāđ āļāđāļēāļāļĩāđāđāļāđāļāđāļāđāļāđ: "yes" āļŦāļĢāļ·āļ "no" |
lp_number | āļŦāļĄāļēāļĒāđāļĨāļāļāļ°āđāļāļĩāļĒāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđāļāļēāļāļĢāļđāļāļ āļēāļ |
message | āļāđāļāļāļ§āļēāļĄāļāļēāļĢāļāļāļāļŠāļāļāļāļāļāļ API āļāđāļēāļāļĩāđāđāļāđāļāđāļāđāļāđ: "success" āļŦāļĢāļ·āļ "error" |
province | āļāļąāļāļŦāļ§āļąāļāļāļĩāđāļĢāļāļĒāļāļāđāļāļāļāļ°āđāļāļĩāļĒāļāļāļēāļĄāļāļĩāđāļĢāļ°āļāļļāđāļāļĒāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļ |
status | āļĢāļŦāļąāļŠāļŠāļāļēāļāļ° HTTP āļāļāļāļāļēāļĢāļāļāļāļŠāļāļāļ API |
vehicle_body_type | āļāļĢāļ°āđāļ āļāļāļąāļ§āļāļąāļāļāļāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđ |
vehicle_brand | āļĒāļĩāđāļŦāđāļāļāļāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđ |
vehicle_color | āļŠāļĩāļāļāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđ |
vehicle_model | āļĢāļļāđāļāļāļāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđ |
vehicle_orientation | āļāļīāļĻāļāļēāļāļāļāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđāđāļāļĢāļđāļāļ āļēāļ |
vehicle_year | āļāđāļ§āļāļāļĩāļāļāļāļĢāļļāđāļāļĢāļāļāļĩāđāļāļāļāļģāđāļāđ |
āļĢāļēāļāļēâ
āļāļ·āđāļāļāļĢāļīāļāļēāļĢ AI API | āļāļļāļāļŠāļīāđāļāļŠāļļāļ | IC āļāđāļāļāļģāļāļ | On-Premise |
---|---|---|---|
Thai Vehicle License Plate Image Recognition (LPR) | iapp_license_plate_recognition_v1_base64 | 0.75 IC/Request | āļāļīāļāļāđāļ |
iapp_license_plate_recognition_v1_file | 0.75 IC/Request |
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļâ
Pythonâ
import requests
url = "https://api.iapp.co.th/license-plate-recognition/file"
payload = {}
files=[
('file',('{YOUR UPLOADED FILE NAME}',open('{YOUR UPLOADED FILE PATH}','rb'),'image/png'))
]
headers = {
'apikey': {YOUR API KEY}
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
JavaScriptâ
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();
data.append('file', fs.createReadStream('{YOUR UPLOADED FILE PATH}'));
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.iapp.co.th/license-plate-recognition/file',
headers: {
'apikey': '{YOUR API KEY}',
...data.getHeaders()
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
PHPâ
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/license-plate-recognition/file',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE PATH}')),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swiftâ
let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE PATH}",
"type": "file"
]] as [[String: Any]]
let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body
var request = URLRequest(url: URL(string: "https://api.iapp.co.th/license-plate-recognition/file")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Kotlinâ
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE NAME}",
File("{YOUR UPLOADED FILE PATH}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/license-plate-recognition/file")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()
Javaâ
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE NAME}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE PATH}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/license-plate-recognition/file")
.method("POST", body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();
Dartâ
var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/license-plate-recognition/file'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE PATH}'));
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļâ
āđāļ§āļāļĢāđāļāļąāļ 1.2 (2022-01-16)â
āļāļēāļĢāļāļĢāļ°āđāļĄāļīāļāđāļāļāļāļģāļĨāļāļāļāļēāļĄāļāđāļāļĄāļđāļĨāļ āļēāļāļĢāļāļĒāļāļāđāļāļāļ iApp (100 āļ āļēāļ)
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļ āļĩāđāļāļĢāļāļāļąāļ
āđāļāļāļāļģāļĨāļāļ | āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģ (%) |
---|---|
āđāļāļāļāļģāļĨāļāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāļĢāļāļĒāļāļāđ | 99.00% |
āđāļāļāļāļģāļĨāļāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļāļĢāļāļĒāļāļāđ | 99.00% |
āđāļāļāļāļģāļĨāļāļāļāļēāļĢāļāļāļāļģāļāļąāļ§āļāļąāļāļĐāļĢāđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļ | 97.00% |
āđāļāļāļāļģāļĨāļāļāļāļąāļāļŦāļ§āļąāļāļāļāļāđāļēāļĒāļāļ°āđāļāļĩāļĒāļ | 99.00% |
āļĒāļĩāđāļŦāđāļāļĢāļ | 95.00% |
āļŠāļĩāļĢāļ | 85.00% |
āļĢāļļāđāļāļĢāļ | 72.00% |
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļāļĒāļĢāļ§āļĄ | 92.28% |