Documentatie/Upload-Data.md

2.5 KiB

Upload Data

If the user wants to upload custom data (lutum/ec) they can use the FarmMaps file API.
The API is based on the google drive API.

C# explanation:
https://developers.google.com/api-client-library/dotnet/guide/media_upload
https://developers.google.com/drive/api/v3/manage-uploads#resumable

  • Start request

Request

POST https://farmmaps.awacc.nl/api/v1/file

Host: farmmaps.awtest.nl
Authorization: Bearer < Token >
X-Upload-Content-Length: 13507747
X-Upload-Content-Type: application/x-zip-compressed
Content-Type: application/json; charset=UTF-8
Content-Length: 181

{ 
   "name":"Grondsoorten2006-SHP.zip",
   "mimeType":"application/x-zip-compressed",
   "size":13507747,
   "lastModified":1575293019617,
   "parentCode":"c0787987a3f7449c97eecd6d015eb4c2:USER_FILES"
}

Response

Location: /api/v1/file/2831cd05ddc0415784930059c658db55
Content-Length: 194
Content-Type: application/json; charset=utf-8

{
   "code":"2831cd05ddc0415784930059c658db55",
   "chunks":1,
   "parentCode":"c0787987a3f7449c97eecd6d015eb4c2:USER_FILES",
   "name":"Grondsoorten2006-SHP.zip",
   "size":13507747,
   "chunkSize":13507747,
   "data":{}
}
  • Request upload chunk 1

Request

PUT https://farmmaps.awtest.nl/api/v1/file/2831cd05ddc0415784930059c658db55 

Host: farmmaps.awtest.nl
Authorization: Bearer < Token >
Content-Type: application/octet-stream
Content-Length: 2097152
Content-Range: bytes 0-2097151/13507747

<data>

Response

HTTP/1.1 308 Resume Incomplete

Range: 0-2097151
Content-Length: 17

Resume Incomplete
  • Request upload chunk 2

Request

PUT https://farmmaps.awtest.nl/api/v1/file/2831cd05ddc0415784930059c658db55

Host: farmmaps.awtest.nl
Authorization: Bearer < Token >
Content-Type: application/octet-stream
Content-Length: 2097152
Content-Range: bytes 2097152-4194303/13507747

<data>

Response

HTTP/1.1 308 Resume Incomplete

Range: 0-4194303
Content-Length: 17

Resume Incomplete
  • Final request

Request

PUT https://farmmaps.awtest.nl/api/v1/file/2831cd05ddc0415784930059c658db55

Host: farmmaps.awtest.nl
Authorization: Bearer < Token >
Content-Type: application/octet-stream
Content-Length: 924835
Content-Range: bytes 12582912-13507746/13507747

<data>

Response

Upload response laatste chunk

HTTP/1.1 201 Created

Range: 0-13507746
Content-Length: 0