2015-09-22 11 views
0

I имеют следующую структуру файла:Javascript новый файл() Размер самоцвета файла

test.html 
test.json 

И следующую функцию JS:

function get_file(){ 
    var app_path = app.activeDocument.path, 
     file = new File(app_path + '/test.json'); 

    console.log(file); 
} 

Как я могу сделать функцию войти содержимое файла?

+0

в узле или какой-либо другой среде JS? –

+0

@ DanielA.White нет, я использую чистый Javascript – gespinha

+0

, что не означает ничего - вы имеете в виду в браузере? –

ответ

0

Я не уверен, что все, что вы можете сделать в среде браузеров, означает все, что вы можете сделать в среде фотошоп. Но вы должны посмотреть на несколько вещей.

Ведение в браузере

File объект.

https://developer.mozilla.org/en-US/docs/Web/API/File

Примечательным, что он расширяет Blob объект.

https://developer.mozilla.org/en-US/docs/Web/API/Blob

Что, если вы исследовали, вы найдете его можно прочитать с помощью FileReader.

https://developer.mozilla.org/en-US/docs/Web/API/FileReader

Так это будет работать в браузере, но может/не-работать в наборе Photoshop сценариев.

function get_file(){ 
    var app_path = app.activeDocument.path, 
     file = new File(app_path + '/test.json'); 

    var reader = new FileReader(); 
    reader.onloadend = function() { 
     console.log(reader.result); 
    } 

    reader.readAsText(file); 
} 

Это асинхронно, поэтому вам может потребоваться обратный вызов в зависимости от того, что вы пытаетесь сделать с этим. Вы не сможете вернуть строку из события reader.onloadend.

делать это в Photoshop

Посмотрите на своих ссылок сценариев. В частности, ссылка на javascript.

Все ресурсы: http://www.adobe.com/devnet/photoshop/scripting.html

Javascript PDF: http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop-cc-javascript-ref-2015.pdf

Похоже, что они не имеют FileReader, но вместо того, чтобы объект File может быть использован для чтения контента. API File начинается на стр. 109, но он пуст! Документация немного жалкая, поэтому я могу понять, почему вам не удастся найти это. С некоторых поисков я нашел кто-то делает это в 2012 году (но я не знаю, если он все равно будет работы- стоит выстрел)

var b = new File("c:\test.txt"); 

b.open('r'); 

var str = ""; 
while(!b.eof) { 
    str += b.readln(); 
} 

b.close(); 

alert(str); 

Позвольте мне знать, если это работает.

+0

По какой-то причине 'FileReader' возвращает внутреннюю ошибку из Photoshop, прямо из точки, где определена переменная' new FileReader'. Любые подсказки о том, как преодолеть эту проблему ?. – gespinha

+0

Обновлено. Не уверен, что это сработает для вас, но сделайте снимок. –

 Смежные вопросы

  • Нет связанных вопросов^_^