Если вам нужно загрузить изображение, перетаскиваемое в область сброса, лучший способ сделать это - отправить URL-адрес на бэкэнд и загрузить его оттуда (подходит любая бэкэнд-технология).
Выполнив быстрый поиск в Google, вы сможете найти несколько похожих работ: [1] , [2] и [3] .
Вот небольшой пример кода, показывающий, как это будет работать на стороне JavaScript:
// Get raw HTML from dropped element
var droppedHTML = evt.dataTransfer.getData('text/html');
// Assuming that the dropped element is an image, get the "src" attribute (URL)
var dropContext = $('<div>').append(droppedHTML);
var imgUrl = $(dropContext).find('img').attr('src');
// Now you can call your API via AJAX or some other way
$.post('analyze_image.php',
{
imgUrl: imgUrl,
},
function(response, status) {
// Feedback on response
}
);
Затем, в вашем бэкэнде, если у вас есть PHP-сервер, вы можете скачать с него, как показано в этом потоке переполнения стека :
file_put_contents($imagePath, fopen($imgUrl, 'r'));