我有一个非常标准的表格来提交图片:
<form enctype="multipart/form-data" class="form-horizontal" role="form" method="POST">
<input id="image" name="image" type="file"/>
</form>
我希望能够将图像拖动到某个区域,以便将其选为输入。
我已经在互联网上研究了如何完成这么简单的任务,但我只是过度使用AJAX的插件,这可能不适合这种形式。谁知道怎么做?
答案 0 :(得分:3)
只需将图片拖动到输入中即可。如果您需要一些信息如何使用您的droped图像的结果(链接/标题/ src或类似的东西),请访问此site。
function handleFileSelect(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
function handleDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}
// Setup the dnd listeners.
var dropZone = document.getElementById('drop_zone');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
.example {
padding: 10px;
border: 1px solid #ccc;
}
#drop_zone {
border: 2px dashed #bbb;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
padding: 25px;
text-align: center;
font: 20pt bold 'Vollkorn';
color: #bbb;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="example">
<div id="drop_zone">Drop files here</div>
<output id="file_list2"></output>
</div>
<output id="list"></output>
<br>
<br>
<br>
<p> Easy solution </p>
<div class="intro-text">
<input class="" type="file" id="file-input" accept="image/*" capture="" name="files[]" multiple="">
</div>