У меня проблемы с отправкой данных блобов изображений из буфера обмена в обычную форму POST.Я искал в Интернете поиски способов сделать это на обычных формах, но 95% всех встреченных мной решений используют AJAX, и мне было интересно, есть ли способ сделать это без AJAX.
Используя приведенный ниже код, мне удается получить данные BLOB-объектов из буфера обмена и сгенерировать их URL.Однако, пытаясь отправить эти данные через обычную форму, я не могу понять, как это сделать.Я попытался отправить в виде «файла» (пытаясь получить данные с помощью $_FILES
в PHP), но он либо просто отправил строку [object File]
, URL-адрес BLOB-объекта в виде строки, либо вообще ничего.
Используя какой-то код, с которым я столкнулся, мне удалось подняться сюда с моим JavaScript:
window.addEventListener('paste', e => {
if (document.activeElement != document.getElementById('post-text')) return; // Check active element and stop if not in text box
let blobData = e.clipboardData.items[0].getAsFile(); // Blob object
let blobUrl = e.createObjectURL(blobData); // Blob URL
document.getElementById('upload-display').src = blobUrl; // Display pasted image
document.getElementById('upload-display-container').style.display = 'block';
// Here I want to put a piece of code which adds the image data to a hidden input element, but I'm not sure how to do this.
});
Как мне добавить данные изображения к скрытому элементу ввода, который при отправке через HTMLPOST-форма, PHP может понимать и обрабатывать ее так же, как отправку по загруженному файлу?
В идеале я хотел бы добавить ее к фактическому <input>
типа files
, но после некоторогометодом проб и ошибок, а также некоторые исследования, которые я пришел к выводу, что это невозможно.