2013-12-16 3 views
0

URL의 이미지를 assets 폴더에 저장할 수 있습니까?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 디렉토리에있는 데이터베이스를 업데이트한다는 것은 의미 할 수 없습니다. 설치하는 동안 초기 DB를 제공하려면 해당 데이터를 assets 디렉토리에 넣은 다음 데이터 또는 db 디렉토리로 복사하여 주먹을 실행할 수 있습니다. – Richard

+0

하지만 .. 작동합니까? .db가 자산에 있고 Qt에서 SqlDataAccess를 사용하면 업데이트 할 수 있습니다. QML에서는 작동하지 않습니다. 나는 그것이/data 또는/db에 있어야한다는 것을 알고 있지만 솔직히이 것들은 더 많은 설명과 예제가 필요합니다. –