To upload a new file, use a POST request to the parent album URL, providing the actual file (and filename), along with the new entity's details as a MIME multipart body.
Parameters:
POST /gallery3/index.php/rest/item/1 HTTP/1.1
X-Gallery-Request-Method: post
X-Gallery-Request-Key: ...
Content-Length: 142114
Content-Type: multipart/form-data; boundary=roPK9J3DoG4ZWP6etiDuJ97h-zeNAph
--roPK9J3DoG4ZWP6etiDuJ97h-zeNAph
Content-Disposition: form-data; name="entity"
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
{"name":"Voeux2010.jpg","type":"photo"}
--roPK9J3DoG4ZWP6etiDuJ97h-zeNAph
Content-Disposition: form-data; name="file"; filename="Voeux2010.jpg"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
*** picture data ***
--roPK9J3DoG4ZWP6etiDuJ97h-zeNAph
Note: do not forget to put a blank line between "Content-Transfer-Encoding: binary" and your picture data.
The response is a simple JSON-encoded object containing the URL of the new entity
{"url":"http://www.example.com/gallery3/index.php/rest/item/13"}