cascades bb10 qfile删除

时间:2015-03-17 07:19:28

标签: qt blackberry-10 blackberry-cascades qfile

我想从存储中删除/删除文件。该文件存储在“/ shared / photos /”中。这就是我存储文件的方式

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

我可以使用以下代码成功查看图像文件:

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

并且没有问题。

QString“filepath”包含此字符串

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

现在我尝试从存储中删除/删除此文件。 这是我尝试的方式:

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 !! "; }

它不起作用。调试说“没有这样的文件或目录”。

i also tried 
QFile::remove(thumbnailImage);

仍然无法正常工作。 我也尝试过:

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

但仍无效。 我也尝试将workdir从QDir::currentPath()更改为QDir::homepath(),但仍未成功。

所以请告诉我究竟应该在QFile :: remove()参数中添加什么。 引用https://developer.blackberry.com/native/reference/cascades/qfile.html#remove表示参数是QString filename。

bool QFile::remove ( const QString & fileName )

究竟我应该插入参数? 请帮帮我们。

感谢。

此致 瑜伽尝试Utomo

1 个答案:

答案 0 :(得分:0)

文件路径错误。它不应包含“file://”。此外,您必须在删除文件之前打开该文件。

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