Ausgabe
Ich muss das aktuell aktive Dokument in Photoshop öffnen und an eine JS-Funktion senden, die die Datei im Parameter benötigt.
Ich habe versucht, den Pfad der Datei wie folgt zu ermitteln:
csInterface.evalScript('app.documents[0].fullName.parent.fsName.toString()',function(result){
csInterface.evalScript('app.documents[0].name', function(res) {
var response = result+"/"+res;
var path = response.replace(/\\/g, '/');
console.log(path);
var file = window.cep.fs.readFile(path);
console.log(file);
//projectCreateDownloadToken(file.data);
});
und verwenden Sie dann window.cep.fs.readFile, um die Datei aus dem Pfad abzurufen, aber es werden nur die Daten und nicht die Datei verwendet.
Vielleicht muss ich verwenden
var arg = 'file=@'+path;
var url ="your_server_url ";
console.log(window.cep.process.createProcess('/usr/bin/curl','--form',arg,url));
Aber ich suche nach einer anderen Lösung. Vielen Dank für jegliche Hilfestellungen!
Lösung
Ich konnte es mit diesem Code tun
csInterface.evalScript('app.documents[0].fullName.fsName', function(res) {
let fileInBase64 = window.cep.fs.readFile(res, cep.encoding.Base64);
let fileName = res.split('\\').pop().split('/').pop();
urltoFile('data:image/png;base64,'+fileInBase64.data, fileName)
.then(function(file){
//do what you want with the file
});
});
}, false);
Beantwortet von – Laurent Q.
Antwort geprüft von – Willingham (FixError Volunteer)