Ashley, thanks again for your help on this.
I'm not sure what I'm doing wrong, but on the server side the php script sees an empty $_POST[] array.
1. Should this array be populated with a Base64 encoded version of the image?
2. The "POST" method in the Construct 3 AJAX object doesn't allow you to set a key. Does the AJAX object in Construct 3 set a key automatically? I believe there should be a key->value pair received by the php server. Maybe I need to Base64 encode the image first, then send it via a standard AJAX post?
--------------------
Here's my event sheet:
+ DrawingCanvas: On saved image
-> previewSprite: Load image from DrawingCanvas.SavedImageURL (Resize to image size, cross-origin anonymous)
-> maskSprite: Set animation frame to 0
-> DrawingCanvas: Clear canvas rgba(0, 0, 0, 0)
-> AJAX: Set response binary to BinaryData
-> AJAX: Request DrawingCanvas.SavedImageURL (tag "Step 1")
+ AJAX: On "Step 1" completed
-> AJAX: Send BinaryData to URL "../upload.php" (method "POST", tag "Step 2")
-> Browser: Alert "Posting "&BinaryData.GetText(0,BinaryData.ByteLength)&" to server."
+ AJAX: On "Step 2" completed
-> Browser: Alert AJAX.LastData