级联 bb10 qfile 删除

cascades bb10 qfile remove

我想要 delete/remove 存储中的文件。该文件存储在“/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"

现在我试图从存储中 delete/remove 这个文件。 这就是我的尝试:

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

它不起作用。调试说 "No such file or directory".

i also tried 
QFile::remove(thumbnailImage);

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

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

但仍然无法正常工作。 我也尝试将工作目录从 QDir::currentPath() 更改为 QDir::homepath() 但仍然没有成功。

所以请告诉我应该在 QFile::remove() 参数中输入什么。 引用https://developer.blackberry.com/native/reference/cascades/qfile.html#remove表示参数是QString文件名。

bool QFile::remove ( const QString & fileName )

我应该插入什么参数? 请大家帮帮我。

谢谢。

此致, 瑜伽尝试 Utomo

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

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