Date:  08/24/2013 04:10:34 PM Msg ID:  004620
From:  FoxWeb Support Thread:  004617
Subject:  Re: UPLOAD CANVAS
I see the problem. You could try encoding the file data as multipart/form-data and mimic what browsers send with files uploaded via an HTML form. A simpler way (as long as you are uploading a single file at a time) would be to omit the field name ("imgData="+) in your uploaded content and use Request.Form() with no parameters to read it. Note that you will have to decode the base64 data before saving to a file.
FoxWeb Support Team
support@foxweb.com email
Sent by Martin Martin on 08/24/2013 07:06:42 AM:
 After "compare the contents of the request object in the two different situations
 
The string was changed by FoxWeb itself
ex:
in the string : the  "+" become a space " " ... etc ... 
 
so Foxweb have a malfunction here ...!?
 
 
 
 
 
 
 
 
 
Sent by FoxWeb Support on 08/23/2013 05:51:56 PM:
I don't have any experience sending canvas data (or any file upload data for that matter) via ajax. The FoxWeb scripts on the server side can read files uploaded with input fields of type "file", so I would think that there is something different with the data uploaded through your JavaScript code. You may want to try uploading a png file through a regular form and compare the contents of the request object in the two different situations.
FoxWeb Support Team
support@foxweb.com email
Sent by Martin Martin on 08/23/2013 11:07:59 AM:
 Hi,
 
I try to upload the content of my html5 canvas 
 
here what it's my javascript look like :
 
function saveImage() { 
    var canvasData = canvas.toDataURL();
    var ajax = new XMLHttpRequest();
    ajax.open("POST",'localhost/getFile.fwx',false);
    ajax.onreadystatechange = function() {
        console.log(ajax.responseText);
    }
    ajax.setRequestHeader('Content-Type', 'application/upload');
    ajax.send("imgData="+canvasData);
}
 
 
 
the canvas data look like :
"data:image/png;base64,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"
 
 
It's a .PNG encoded base64, I try to get it from my getfile.fwx foxweb script but can't get it!?
can you help me with getfile.fwx to recuperate this images?

do you have some code I can re-use?
 
thank you