Hey Rick
Thanks for contributing to this! I used fiddler2 to get the raw payload from the provider's own API testbed. I can see exactly what his end is expecting. Interestingly enough, the filetostr() vfp function of a jpg looks to me like the stuff in his payload.
>Argh - save yourself the pain of using XmlHttp for anything but basic HTTP requests... seriously. So many issues with that and file uploads require separate Stream objects out of the ADO library.
>
>with wwHttp:
>
>
>Do wwHTTP
>
>loHttp = CREATEOBJECT("wwHTTP")
>loHttp.nHttpPostMode = 2
>loHttp.AddPostKey("image","c:\temp\sailbig.jpg",.T.)
>loHttp.AddPostKey("notes","cool shot from the other day")
>
>lcResult = loHttp.HttpGet("http://somesite.com/uploadimages/")
>IF (loHttp.nError != 0)
> ? loHttp.cErrorMsg
> RETURN
>ENDIF
>
>? lcResult
>
>
>more info here:
>
http://www.west-wind.com/webconnection/wwClient_docs/_0rs0twgr6.htm>
>+++ Rick ---
>
>>Hi all
>>
>>I'm using msxmlhttp v 6.0 to get/post simple things. Now I've been asked to send an image. The enctype must be "multipart/form-data".
>>
>>o=CREATEOBJECT("Empty")
>>ADDPROPERTY(m.o,"FirstName","Mike")
>>ADDPROPERTY(m.o,"LastName","Yearwood")
>>oJSON=CREATEOBJECT("Json")
>>lcJSON = oJSON.Stringify(m.o)
>>?m.lcJSON
>>
>>oHTTP = CREATEOBJECT("MSXML2.XMLHTTP.6.0")
>>cusername="cantsay"
>>cpassword="wontsay"
>>cUrl="
https://somewhere.com/overtherainbow"
>>luResult = oHTTP.OPEN("GET", m.cURL, .F., m.cUserName, m.cPassword)
>>lcEncode64=STRCONV(m.cUserName+":"+m.cPassword,13)
>>oHTTP.SetRequestHeader("Authorization", "Basic "+m.lcEncode64)
>>oHTTP.SetRequestHeader("Content-Type", "application/json")
>>
>>oHTTP.SEND()
>>
>>?oHTTP.Status()
>>
>>Where and how would I go about adding a filename and a data stream?
>>
>>Thanks