Я работаю над функцией перетаскивания n. У меня есть код, который мне нужен, чтобы поймать файл, когда он выпал в моей области сбрасывания, но у меня есть некоторые проблемы, чтобы отправить его для xmlhttprequest, поскольку я не могу отправить через jQuery или ajax.Добавление ввода типа файла в форму динамически
Теперь я думаю о скрытом iFrame, но я действительно не знаю, как я могу прикрепить этот файл, который у меня уже есть, благодаря пользователю, к существующей форме.
var droparea = $('#dropzone');
var uploadButon = $('#upload');
droparea.on('dragover',function(){
$(this).addClass('dragover');
return false;
});
droparea.on('dragleave',function(){
$(this).removeClass('dragover');
return false;
});
droparea.on('drop', function(e) {
e.stopPropagation();
e.preventDefault();
$(this).removeClass('dragover');
var files = e.originalEvent.dataTransfer.files;
var formData = new FormData($("form")[0]);
for(var i = 0; i < files.length; ++i) {
var file = files[i];
formData.append("files[]", file);
}
return $.ajax({
url: "upload.php",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(text) {
alert(text);
}
});
});
//the php
<?php
echo count($_FILES["files"]);
for($i = 0; $i < count($_FILES["files"]["name"]) ; $i++)
{
if(move_uploaded_file($_FILES["files"]["tmp_name"][$i], "upload/".$_FILES["files"]["name"][$i]))
echo "ok";
else
echo "no";
}
?>
Это должен работать, предполагая, что '$ ('userDropedFile')' нацелен на ввод файла. Однако, если вы используете загрузку файлов с помощью drag-n-drop, почему бы не пойти немного дальше, а также реализовать xhr-загрузку файла, а не использовать iframe, если он доступен? –
Почему входной файл не внутри формы в первую очередь? – Esailija
сейчас, тот мой мой код. –