Укажите путь к файлу в плагине

Я разработал плагин npapi, используя firebreath. Я хочу получить доступ к одному изображению, которое находится внутри компьютера. Я запутался, как указать путь к файлу в классе плагина или мне нужно поместить его в другую указанную папку ?? Пожалуйста помоги.


person user1871952    schedule 19.12.2012    source источник


Ответы (1)


Внутри вашего основного объекта плагина вы можете вызвать getFSPath(), чтобы получить полный путь и имя файла вашего подключаемого модуля .dll. Вы можете использовать это, чтобы затем найти относительный путь к файлу ресурсов, который вы хотите открыть.

В версии 1.7 или более поздней (версия 1.7 была выпущена 17 декабря 2012 г.) вы можете #include "BrowserPlugin.h" и использовать BrowserPlugin::getFSPath() где угодно. Оттуда это просто простая манипуляция со строками, или, если вы хотите быть немного более полным/надежным, вы можете просто использовать boost::filesystem

#include <BrowserPlugin.h>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;

// ....

std::string getPluginDirPath() {
    path pluginPath(BrowserPlugin::getFSPath());
    return pluginPath.parent_path().string();
}
person taxilian    schedule 19.12.2012
comment
Привет!! getFSPath() будет включать в себя имя .so, т.е. имя библиотеки плагинов. Итак, как я могу отредактировать это, чтобы дать ему мое имя файла ?? - person user1871952; 21.12.2012
comment
Обновлен ответ с примером кода, чтобы сделать это с помощью boost::filesystem; конечно, вы также можете найти последний «/» и взять подстроку до этой точки. Есть много способов сделать это - person taxilian; 21.12.2012
comment
Большое спасибо. Это именно то, что мне было нужно! - person Champika Samarasinghe; 17.09.2013