#javascript #html #css #file-upload #drag-and-drop
#javascript #HTML #css #загрузка файла #перетаскивание
Вопрос:
Как я могу принять перетаскивание файлов в div, как если бы они были перетащены в целевой элемент ввода файла?
Это работает только для <input type="file" />
:
<form method="post" enctype="multipart/form-data" id="frm_upload">
<input type="file" name="input_upload">
<div id="div_upload">Drag amp; Drop here</div>
</form>
$(':file').change(function(){
var file = this.files[0];
var formData = new FormData($('frm_upload')[0]);
formData.append('input_upload', file);
$.ajax({
url: base_url,
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
dataType: 'JSON',
success: sucessBinder
});
});
Возможно ли без ajax автоматически привязывать перетаскиваемые файлы <input type="file" />
?
Комментарии:
1. Вы захотите использовать атрибуты on-drop, on-drag-enter, on-drag-exit в html. Ответ не совсем удовлетворил мой конкретный случай. Напишите мне для получения дополнительной информации!
Ответ №1:
Вы можете поместить div поверх ввода файла. Чтобы он по-прежнему принимал перетаскиваемые файлы, добавьте pointer-events: none
в div.
div {
position: absolute;
width: 300px;
height: 100px;
pointer-events: none;
background: #000;
color: #fff;
text-align: center;
}
input {
position: absolute;
width: 300px;
height: 100px;
opacity: 0;
}
<input type="file" />
<div>Drop a file here</div>