黑莓10联系pic到字节数组

时间:2018-02-20 11:23:18

标签: c++ qt contact blackberry-10

我正在处理迁移应用程序。我必须将黑莓10个联系人转移到android。

我在转移联系人照片时遇到问题。我正在获取图片的uri,创建文件并尝试读取字节。

if (file.open(QIODevice::ReadOnly)) {
    qDebug() <<"file.readAll() IF" <<file.readAll() <<endl;
}else{
    qDebug() <<"file.readAll() ELSE" <<endl;
}

但是下面的部分代码正在执行

submit.onclick = function(){

    // selectedIndex for comedy is 1, select option are zeroth-index based.
    if (choice.selectedIndex == 1){
      location.href="http://google.com";
    }
}

我如何读取uri下面的字节

  

文件:///accounts/1000/pimdata/_startup_data/contacts/2/img-tnqpx0.jpg

1 个答案:

答案 0 :(得分:1)

我怀疑,从网址中移除file://可以正常工作。

以下是我用来测试的代码:

    bb::pim::contacts::ContactPhoto contactPhoto = contact.primaryPhoto();
    QString photo = contactPhoto.originalPhoto();
    if (!photo.isEmpty()){
        QFile file(photo.remove("file://"));
        if (file.open(QIODevice::ReadOnly)) {
           qDebug() <<"file.readAll() IF" <<file.readAll() <<endl;
        }else{
           qDebug() <<"file.readAll() ELSE" <<endl;
        }
    }

请注意,您需要在网址前留一个/,因此您在OP中分享的图片网址将如下所示:

/accounts/1000/pimdata/_startup_data/contacts/2/img-tnqpx0.jpg

此外,如果您的目标是创建VCard vcf文件,则不需要手动创建VCard文件内容,甚至不需要读取照片文件的字节{{{ 1}}函数会为你做这件事。

contactToVCard