2015-03-17 6 views
0

Je veux supprimer/supprimer un fichier du stockage. le fichier est stocké dans "/ shared/photos /". c'est comment je stocker le fichiercascades bb10 qfile supprimer

QByteArray* data; //some image data 
QImage image; 
image.loadFromData(*data); 
QFile outFile("shared/photos/"+filename); 
outFile.open(QIODevice::WriteOnly); 
image.save(&outFile, "PNG"); 

et je peux voir avec succès le fichier image avec ce code:

QString filepath; 
QString workingDir = QDir::currentPath(); 
filepath = "file://" + workingDir + "/shared/photos/"+filename; 

et elle est affichée sans problème.

QString « filepath » contient cette chaîne

"file:///accounts/1000/appdata/com.example.Project.testDev_le_Project4b5f4904/shared/photos/02.jpg" 

Et maintenant j'ai essayé de supprimer/supprimer ce fichier de la mémoire. voici comment je l'ai essayé:

QString thumbnailImage = filepath; 
// basically it contains string like filepath 
//"file:///accounts/1000/appdata/com.example.Project.testDev_le_Project4b5f4904/shared/photos/02.jpg" 
QFile thumb(thumbnailImage); 
bool ok = thumb.remove(); 
QString error = thumb.errorString(); 
if(ok){ qDebug() << "delete thumbnailImage success = " << ok; } 
else{ qDebug() << "delete thumbnailImage failed !! "; } 

et il ne fonctionne pas. le débogage dit "Aucun fichier ou répertoire".

i also tried 
QFile::remove(thumbnailImage); 

et ne fonctionne toujours pas. i aussi essayé:

QFile::remove("/shared/photos/"+filename); 

mais ne fonctionne toujours pas. J'ai également essayé de changer le workdir de QDir::currentPath() à QDir::homepath() et toujours pas de succès. Alors s'il vous plaît dites-moi exactement ce que je devrais mettre dans le paramètre QFile :: remove(). la référence https://developer.blackberry.com/native/reference/cascades/qfile.html#remove indique que le paramètre est QString filename.

bool QFile::remove (const QString & fileName) 

quoi exactement je devrais insérer le paramètre? s'il vous plaît aidez-moi les gars.

merci.

Cordialement, Yoga Try Utomo

Répondre

0

Le chemin du fichier est erroné. Il ne doit pas contenir "file: //". En outre, vous devez ouvrir le fichier avant de le supprimer.

QFile thumb("shared/photos/" + filename); 
thumb.open(QIODevice::ReadWrite); 
thumb.remove(); 
thumb.close();