Работает, если импортирован в photoshop как скрипт, но не загружен через расширение
Создание панели HTML5 в Photoshop, которая использует списки имен файлов из некоторого каталога на моем компьютере.
Вот код javascript (упрощенный для понимания сути), который отлично работает, если File>Scripts>Browse в photoshop, но не работает в расширении:
var targetDirectory = ** some location **;
getNamesOfFileFromDirectory(targetDirectory);
function getNamesOfFileFromDirectory(targetDirectory){
try {
var directory = Folder(targetDirectory);
var fileList = directory.getFiles();
alert(fileList[0]);
} catch(err){
alert(err);
}
}
после некоторых тестов я нахожу:
var directory = Folder(targetDirectory);
вызывает проблему. потому что папка не определена, если используется внутри расширения, но так как она работает нормально, если загружена как скрипт, я думаю, что мне просто не хватает какой-то библиотеки, которая была у фотошопа по умолчанию.
Можете ли вы, ребята, помочь мне и указать правильное направление, как решить эту проблему? Например, есть ли какая-нибудь библиотека, которую я могу скачать, или альтернативные способы, которыми я могу воспользоваться
Моя главная цель - получить список файлов из определенного каталога через расширение в фотошопе.
1 ответ
Photoshop поддерживает несколько сред для построения расширений. Если вы используете Adobe CEP в Photoshop, вы можете использовать следующий API:
window.cep.fs.readdir(FolderPath);
Вы можете найти пример по адресу https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_7.x/Samples/CEP_HTML_Test_Extension-7.0/html/NativeFunction.html