I have to submit a form like as follows: <input type="file" name="jpgFile"> I can't seem to find any instructions on sending this in URLExecute. If I specify the file name as the parameter it fails. If I try `Import[filename, "JPG"]` of the image it also fails as invalid. I thought his might work, but I get an error `"Iteration limit of 4096 exceeded"`. This suggests it might be working as test file is 451,107 bytes. URLExecute[ url, "Method" -> "POST", "Headers" -> { "Accept" -> "application/json; charset=UTF-8" }, "MultipartElements" -> { {"jpgFile", "file"} -> "test.jpg" } ] So this is another example. In this instance I am sending a text file and this appears to work. testData = Import["test.txt","Text"]; URLExecute[ url, "Method" -> "POST", "Headers" -> { "Accept" -> "application/json; charset=UTF-8" }, "MultipartElements" -> { {"textData", "text/plain"} -> testData } ] --- From a Java point of view, the following actually works: https://stackoverflow.com/a/17174260/1167890 I would like not to be forced back into Java/MathLink if possible though.