Вопрос по javascript – Сохранение и закрытие документа в скриптах Photoshop Javascript

2

У меня возникли проблемы с сохранением по какой-то причине; Я использую Photoshop CS5.1 (если это действительно является причиной проблемы)

error 8800: General Photoshop error occurred. 
This functionality may not be available in this version of Photoshop.
Could not save a copy as C:\...\Temp001.jpeg0011338281522" 
because the file could not be found


var thistimestamp = Math.round(new Date().getTime() / 1000);
saveFile = new File( "/Users/Barny/My Pictures/Temp001" +thistimestamp+ ".jpeg" )
saveOptions = new JPEGSaveOptions();
saveOptions.embedColorProfile = true;
saveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
saveOptions.matte = MatteType.NONE;
saveOptions.quality = 9;
app.activeDocument.saveAs(saveFile, saveOptions, true,Extension.LOWERCASE);

Мне бы хотелось, чтобы скрипт сохранялся и закрывался, но я продолжаю получать эту ошибку. Я использую Photoshop CS5.1 (если это действительно является причиной проблемы)

В каком контексте работает ваш JS? Jon Cram

Ваш Ответ

1   ответ
6

Когда вы получаете ошибкуGeneral Photoshop error при сохранении это обычно означает проблему с путем сохранения. Фотошоп пытается сохранить в местоположение, которое не существует. Это работает при условии, что папкаC:/Users/Barney/Pictures/Temp001 существует:

var thistimestamp = Math.round(new Date().getTime() / 1000);
saveFile = new File( "c:/Users/Barney/Pictures/Temp001/" +thistimestamp)
saveOptions = new JPEGSaveOptions();
saveOptions.embedColorProfile = true;
saveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
saveOptions.matte = MatteType.NONE;
saveOptions.quality = 9;

app.activeDocument.saveAs(saveFile, saveOptions, true,Extension.LOWERCASE);

Единственные изменения, которые я сделал, были в строке путиsaveFile = new File("C:/Users/Barney/Pictures/Temp001/" + thistimestamp) Обратите внимание, я добавилC: чтобы сделать его абсолютным путем и добавил/ после Temp001 указать, что это папка, а не часть окончательного имени файла.My Pictures должно быть на самом делеPictures (мои рисунки это просто псевдоним), что вы получите, если скопируете адрес из адресной строки. Также я удалил+ ".jpeg" потому что Photoshop заботится о расширении файла для вас.

Если вы пытаетесь создать новую папку, вы должны использоватьFolder объект:

var myfolder = new Folder("c:/Users/Barney/Pictures/Temp001/");
myfolder.create();

Похожие вопросы