Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt WinRT Folder Permission Issue



  • Hi I already posted a question https://forum.qt.io/topic/64442/qt-winrt-app-cannot-access-file-permission-denied regarding ffmpeg library and video file read, and now I think the entire project should have some permission to access/modify the files system in WinRt Qt App.

    Below is a simple code which create a directory if not exist, bu this also failing always, so I think it permission issue, and there are something should add on AppxManifest.xml.

    QString dirname = QDir::homePath()+"/test";
        QDir dir(dirname);
        if(!dir.exists())
        {
            //dir.mkdir(dirname);
            if(false==dir.mkpath(dirname)){
                qDebug()<<"Creating "<<dirname<<" failed...";
            }
        }
    

    Anyone have faces this before, any suggestion, tips ..

    Thanks in Advance.
    Haris



  • hi haris,
    at least you should use QStandardPaths::writableLocation instead of QDir::home. This returns for the related plattform the paths where the app is allowed to write.
    best,
    patrik



  • I tried these too

    QString dirname =  "C:/Users/haris/Videos/";
    

    But still the error.



  • Hi haris,
    this works on winrt:(at least in my project)

    
        QDir imagesFolder(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/afolder/");
        if (!imagesFolder.exists())
            imagesFolder.mkpath(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/afolder/");
    

    as far as i remember it returns a path to user/AppData/Roaming/.... That is where since win8 (?) application data should be stored.
    best,
    patrik



  • Yes the above code works fine, but in my case I need to set path as user decide, it can be anywhere.


Log in to reply