2015-10-22 1 views
0

Я хочу знать, есть ли способ получить полный путь к файлу с помощью chrome.fileSystem.chooseEntry. Я пытался использовать chrome.fileSystem.getFullPath, но он возвращает пустую строку. Что мне делать, чтобы получить полный путь к файлу?Получить полный путь к файлу, открытому с помощью chrome.fileSystem.chooseEntry

Благодаря

+0

'chrome.fileSystem' доступен только для приложений Chrome. Вы можете отредактировать вопрос и изменить неверный тег на 'google-chrome-app'? – wOxxOm

+0

Конечно! У вас есть ответ на этот вопрос? – MSO

+0

FIxed, извините за это – MSO

ответ

0

страница документ не перечисляют chrome.fileSystem.getFullPath, только chrome.fileSystem.getDisplayPath:

chrome.fileSystem.chooseEntry({type: 'openFile', accepts: accepts}, function(entry) { 
    if (!entry) { 
     console.log("Cancelled"); 
     return; 
    } 
    // All of Chrome API is asynchronous! Use callbacks: 
    chrome.fileSystem.getDisplayPath(entry, function(path) { 
     console.log(path); 
     // do something with path 
    }); 
} 

Там есть большая коллекция хромированных приложений, демонстрирующих использование API на GitHub: chrome-app-samples.

P.S. The MDN article for fileEntry упоминает .fullPath свойство, но в этом случае оно не работает.

+0

Я уже пробовал полный путь, основная проблема теперь в том, что fullpath только дает мне \ filename, а не полный путь. Я ожидал чего-то вроде c: \ folder \ ... \ filename. Как получить путь так же, как c: \ folder \ ... \ filename? Благодаря! – MSO

+0

Я использовал 'getDisplayPath', и он вернул мне' undefined'. я что-то упускаю? – MSO

+0

Да, вы сделали :-) он асинхронный, как ВСЕ хром API, поэтому вам нужно использовать обратный вызов и использовать переданный параметр в этом обратном вызове (см. Обновленный ответ). – wOxxOm