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) ...@@ -192,6 +192,23 @@ bool XdgUrl::_uncompressArchive(const QString &path, const QString &targetDir)
void XdgUrl::_saveDownloadedFile(const QTemporaryFile &temporaryFile) 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) void XdgUrl::_installDownloadedFile(const QTemporaryFile &temporaryFile)
...@@ -224,15 +241,18 @@ void XdgUrl::_downloaded(QNetworkReply *reply) ...@@ -224,15 +241,18 @@ void XdgUrl::_downloaded(QNetworkReply *reply)
} }
QTemporaryFile temporaryFile; QTemporaryFile temporaryFile;
if (!temporaryFile.open()) { if (!temporaryFile.open()) {
result["error"] = QString("save_error"); result["error"] = QString("save_error");
emit finished(Utility::Json::convertObjToStr(result)); emit finished(Utility::Json::convertObjToStr(result));
return; return;
} }
temporaryFile.write(reply->readAll()); temporaryFile.write(reply->readAll());
QMimeDatabase mimeDb; QMimeDatabase mimeDb;
QString mimeType = mimeDb.mimeTypeForFile(temporaryFile.fileName()).name(); QString mimeType = mimeDb.mimeTypeForFile(temporaryFile.fileName()).name();
if (mimeType == "text/html" || mimeType == "application/xhtml+xml") { if (mimeType == "text/html" || mimeType == "application/xhtml+xml") {
result["error"] = QString("filetype_error"); result["error"] = QString("filetype_error");
emit finished(Utility::Json::convertObjToStr(result)); 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