2013-12-16 26 views
0

是否可以從資源文件夾中的URL保存圖像?Qt:如何從url中保存圖片資源?

void DataPacking::createAndSaveImage(QString argSavingFilePath, 
     QByteArray argDataLoaded) { 
    m_file = new QFile; 
    m_file->setFileName(argSavingFilePath); 
    m_file->open(QIODevice::WriteOnly); 
    m_file->write(argDataLoaded); 
    m_file->close(); 
    m_file->~QFile(); 
} 

m_savingFilePath = QDir::homePath() + "app/native/assets/images/" 
      + QString("multipleActive.png"); 

createAndSaveImage(m_savingFilePath, m_dataLoaded); 

但是當我嘗試使用這個圖像時,我得到下面的錯誤。

「無法獲取資源(/apps/com.bluewave.LeasePlan.testDev_e_LeasePlan45b0f435/native/assets/):(/images/multipleActive.png)。」

回答

3

資產目錄(或更合適的應用程序目錄)是應用程序沙箱保護區域的一部分,無法更改。如果要將數據存儲在沙箱中,則應使用數據目錄。

請參見:https://developer.blackberry.com/native/documentation/cascades/device_platform/data_access/file_system.html

+0

但你可以在它更新的數據庫? –

+0

如果您的意思是更新資產目錄中的數據庫,則不能。如果你想在安裝過程中提供一個初始數據庫,你可以把它放在assets目錄中,然後在第一次運行時將它複製到data或db目錄中。 – Richard

+0

但它有效嗎?如果我在資產中使用.db,並在qt中使用SqlDataAccess,我可以更新它。儘管如此,它並不適用於QML。我知道它應該在/ data或/ db中,但說實話,這些東西需要更多解釋和示例 –