2012-10-09 89 views
1

在我的JavaScript,在Windows 7中,Photoshop CS2的&的Photoshop CS5,它拋出一個錯誤:Photoshop中的JavaScript保存錯誤8800

Error 8800: General Photoshop error occurred. This functionality may not be available in this version of Photoshop.
- Could not save a copy as "C:...\wcb-010B-11Y.jpg" because the file could not be found.
Line: 458
-> docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);

這裏是代碼的一個總結,保存圖片:

var selectedSaveDir = "~/Desktop/"; 
var sFileNamePreFix = "wcb-"; 
var docRef = app.activeDocument; 
var docName = app.activeDocument.name; 
var docNewName = docName.substr(0, docName.length - 4); // strip file extension 
var sNewDocName = sFileNamePreFix + docNewName + ".jpg" 
var sNewFileName = selectedSaveDir + sNewDocName; 
//alert("sNewFileName = " + sNewFileName);  // test to verify correct location 
var saveFile = new File(sNewFileName); 
jpgSaveOptions = new JPEGSaveOptions(); 
jpgSaveOptions.quality = 12; 
docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE); 

在Windows XP中,此腳本在CS2中運行良好,沒有問題....只是在Windows 7中,使用CS2或CS5時出現此問題。

該問題似乎類似於:Photoshop Javascript scripting saving and closing document 但我不知道他的操作系統。

我已經添加了「警報(」並確認保存文件夾&名稱是正確的,並可以保存到,但同樣的問題。

難道是一個UAC的問題在Windows 7?你怎麼解決這個問題我已經關閉了所有的UAC設置(我想我做到了正確的),但它仍然發生

任何幫助

回答

0

你錯過了?。?「變種docRef = app.activeDocument;」(其我已經添加了);但除此之外,在CS2中,該腳本將jpeg保存到桌面(wcb-text test.jpg)。很明顯,但是您是否確保圖像平整? r不包含無法存儲在jpeg中的任何信息 - 例如,路徑。

嘗試強制儲蓄

//flatten the image 
docRef.flatten(); 

另一件事嘗試之前壓扁是將文件保存到另一個目錄。我知道長文件名(尤其是空格)會導致問題 - 我認爲文件路徑中有300個字符的限制。