Просто создать скрытый элемент ввода в форму. (Обратите внимание на тип )
<input type="hidden" name="myHiddenField">
Приложите свои данные к значению элемента перед отправкой.
var imageData = canvas.toDataURL('image/png');
document.getElementsByName("myHiddenField")[0].setAttribute("value", imageData);
UPDATE
Если ваши требования сервера, чтобы иметь параметр «имя файла» в представленных данных, а затем включить эту строку в качестве имени input
элемента.
<input type="hidden" name="filename"/>
Это аннулирует форму для отправки ваших данных с параметром «имя файла», включенным в нее.
Если вы хотите использовать XMLHttpRequest
для этого, Ниже приведен пример:
//Prepare data to be sent
var imageData = canvas.toDataURL('image/png');
var params = "filename=" + imageData;
//Initiate the request
var httpRequest = new XMLHttpRequest();
httpRequest.open('POST', 'test.php', true);
//Send proper headers
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Content-length", params.length);
httpRequest.setRequestHeader("Connection", "close");
//Send your data
httpRequest.send(params);
Почему вам нужно конвертировать base64 изображение в файл ввода? Вы можете просто отправить строку base64 на сервер, а затем преобразовать его на сервер изображения. –
@ Сервер YeldarKurmangaliyev - это третья сторона, я не могу изменить ее API. –
О, я вижу. Думаю, эта статья может вам помочь: http://stackoverflow.com/questions/4998908/convert-data-uri-to-file-then-append-to-formdata/5100158 –