Skip to content
Snippets Groups Projects
Commit 193e7d7c authored by akiraohgaki's avatar akiraohgaki
Browse files

Save downloaded file

parent 27caa1d1
No related branches found
No related tags found
No related merge requests found
......@@ -192,6 +192,23 @@ bool XdgUrl::_uncompressArchive(const QString &path, const QString &targetDir)
void XdgUrl::_saveDownloadedFile(const QTemporaryFile &temporaryFile)
{
QJsonObject result;
QString destination = _destinations[_metadata["type"].toString()].toString();
QString path = destination + "/" + _metadata["filename"].toString();
Utility::File::makeDir(destination);
Utility::File::remove(path); // Remove previous downloaded file
if (!temporaryFile.copy(path)) {
result["error"] = QString("save_error");
emit finished(Utility::Json::convertObjToStr(result));
return;
}
result["success"] = QString("download_success");
result["destination"] = destination;
emit finished(Utility::Json::convertObjToStr(result));
}
void XdgUrl::_installDownloadedFile(const QTemporaryFile &temporaryFile)
......@@ -224,15 +241,18 @@ void XdgUrl::_downloaded(QNetworkReply *reply)
}
QTemporaryFile temporaryFile;
if (!temporaryFile.open()) {
result["error"] = QString("save_error");
emit finished(Utility::Json::convertObjToStr(result));
return;
}
temporaryFile.write(reply->readAll());
QMimeDatabase mimeDb;
QString mimeType = mimeDb.mimeTypeForFile(temporaryFile.fileName()).name();
if (mimeType == "text/html" || mimeType == "application/xhtml+xml") {
result["error"] = QString("filetype_error");
emit finished(Utility::Json::convertObjToStr(result));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment