「ドロップ ゾーン」を参照しているドキュメントの唯一のタイプは次のとおりです。
localization.dropFilesHere String(default: "drop files here to upload")
Sets the drop zone hint.
Blueimpのようにドロップゾーンをページ全体に設定するにはどうすればよいですか?
これにより、ドロップ イベントが "largedroparea" から剣道アップロードに委任されます。
<div id="largedroparea"></div>
<input type="file" name="files" id="photos" />
<script>
$("#photos").kendoUpload({
async: {
saveUrl: "save",
removeUrl: "remove"
}
});
// Setup the dnd
$('#largedroparea').on('dragenter', handleDragEnter);
$('#largedroparea').on('dragover', handleDragOver);
$('#largedroparea').on('dragleave', handleDragLeave);
$('#largedroparea').on('drop', handleDrop);
function handleDragEnter(e) {
}
function handleDragOver(e) {
e.stopPropagation();
e.preventDefault();
// Explicitly show this is a copy.
e.originalEvent.dataTransfer.dropEffect = 'copy';
}
function handleDragLeave(e) {
}
function handleDrop(e) {
e.stopPropagation();
e.preventDefault();
var event = jQuery.Event("drop");
event.originalEvent = e.originalEvent;
$('#photos em').trigger(event);
}
</script>
Kendo UI Uploader の現在のバージョンでは、ドロップゾーンのサイズを大きくすることはできません。
可能な代替案:
ページを囲む div を作成します。ファイルがこの div にドロップされるたびに、ドロップされたファイルのfilesToUploadのようなリストを作成し、このリストを剣道アップロードのファイル オプションに割り当てます。
files: filesToUpload,
ドロップされたファイルを取得する手順:
dropzone div のドロップ イベントでデフォルトの動作を停止します
$("#yourDropzoneDiv").on("dragover", function (event) {
event.preventDefault();
event.stopPropagation();
});
$("#yourDropzoneDiv").on("dragleave", function (event) {
event.preventDefault();
event.stopPropagation();
});
$("#yourDropzoneDiv").on("drop", function (e) {
e.preventDefault();
e.stopPropagation();
var filesToUpload = [];
for (var i = 0; i < e.originalEvent.dataTransfer.files.length; i++) {
var objDroppedFiles = {};
objDroppedFiles['name'] = e.originalEvent.dataTransfer.files[i].name
objDroppedFiles['size'] = e.originalEvent.dataTransfer.files[i].size
objDroppedFiles['extension'] = e.originalEvent.dataTransfer.files[i].type.split('/')[1]
filesToUpload.push(objDroppedFiles);
}
$("#droppedUploader").kendoUpload({
multiple: true,
async: {
saveUrl: "Upload.aspx",
autoUpload: true
},
files: filesToUpload,
upload: fileUploadDropped,
template: kendo.template($('#droppedFileTemplate').html())
});
}
これにより、ドロップされたファイルを剣道アップローダーで確認できます。
それを達成するためにCSSを使用してみましたか?単に:
div.k-dropzone {
height:150px;
}
これにより、ドロップゾーンが大きくなります。ファイルリストを押し下げないようにしてください。
それが役に立てば幸い。