Я создаю веб-инструмент, который позволяет пользователю перетаскивать изображения из разных источников.Я могу перетаскивать объекты из файловых систем и браузеров, но я не могу сделать это с объектами в Adobe Illustrator.
@HostListener('drop', ['$event']) public onDrop(event) {
event.preventDefault();
event.stopPropagation();
event.dragstart = true;
let dataTransfer = event.dataTransfer;
let types: string = dataTransfer.types;
console.log(types);
let transfer: any;
if (types.indexOf("Files")>-1)
this.handleFiles(dataTransfer.files);
else{
console.log("elsewhere")
transfer = dataTransfer.getData(types);
}
}
handleFiles(files) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) { continue; }
var img = <HTMLElement>document.getElementById("imagePlaceholder");
// img.file = file;
var reader = new FileReader();
reader.onload = function (event: any) {
img.setAttribute('src', event.target.result);
};
reader.readAsDataURL(file);
}
}
HTML:
<div class="dropzone" imageDnD (drop)=handleDrop($event)></div>
тип файла в событии: com.adobe.cep.dnd.pasteboardtype .Когда я читаю fileType, я получаю следующую информацию.
"{"assetList":[{"data":[""],"type":"image"},{"data":[""],"type":"text"}],"source":"com.adobe.illustrator","version":"23.0"}"
Пока мы должны получать SVG или изображение.