Unable to to perform the datatransfer.getData() on Drag and Drop of Illustrator object
up vote
1
down vote
favorite
I am building a web tool that lets the user to drag and drop images from different sources. I am able to drag and drop objects from file systems and browsers but I am not able to do that with the objects in 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);
}
}
The html:
<div class="dropzone" imageDnD (drop)=handleDrop($event)></div>
The file type in the event is com.adobe.cep.dnd.pasteboardtype. When I read the fileType I get the below information.
"{"assetList":[{"data":[""],"type":"image"},{"data":[""],"type":"text"}],"source":"com.adobe.illustrator","version":"23.0"}"
While we should be recieving some SVGs or an image.
angular

add a comment |
up vote
1
down vote
favorite
I am building a web tool that lets the user to drag and drop images from different sources. I am able to drag and drop objects from file systems and browsers but I am not able to do that with the objects in 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);
}
}
The html:
<div class="dropzone" imageDnD (drop)=handleDrop($event)></div>
The file type in the event is com.adobe.cep.dnd.pasteboardtype. When I read the fileType I get the below information.
"{"assetList":[{"data":[""],"type":"image"},{"data":[""],"type":"text"}],"source":"com.adobe.illustrator","version":"23.0"}"
While we should be recieving some SVGs or an image.
angular

add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am building a web tool that lets the user to drag and drop images from different sources. I am able to drag and drop objects from file systems and browsers but I am not able to do that with the objects in 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);
}
}
The html:
<div class="dropzone" imageDnD (drop)=handleDrop($event)></div>
The file type in the event is com.adobe.cep.dnd.pasteboardtype. When I read the fileType I get the below information.
"{"assetList":[{"data":[""],"type":"image"},{"data":[""],"type":"text"}],"source":"com.adobe.illustrator","version":"23.0"}"
While we should be recieving some SVGs or an image.
angular

I am building a web tool that lets the user to drag and drop images from different sources. I am able to drag and drop objects from file systems and browsers but I am not able to do that with the objects in 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);
}
}
The html:
<div class="dropzone" imageDnD (drop)=handleDrop($event)></div>
The file type in the event is com.adobe.cep.dnd.pasteboardtype. When I read the fileType I get the below information.
"{"assetList":[{"data":[""],"type":"image"},{"data":[""],"type":"text"}],"source":"com.adobe.illustrator","version":"23.0"}"
While we should be recieving some SVGs or an image.
angular

angular

edited Nov 16 at 21:15
asked Nov 16 at 4:49
Praveen Valavan
308
308
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53331626%2funable-to-to-perform-the-datatransfer-getdata-on-drag-and-drop-of-illustrator%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown