19 QString logFilePath = QCoreApplication::applicationDirPath() +
"/log.txt";
21 QFile *file =
new QFile(logFilePath);
22 if (!file->exists()) {
23 qWarning() <<
"Log file does not exist:" << logFilePath;
27 if (!file->open(QIODevice::ReadOnly)) {
28 qWarning() <<
"Could not open log file for reading:" << logFilePath;
32 QNetworkRequest request(QUrl(
"http://localhost:8080/upload"));
33 request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/octet-stream");
35 QNetworkAccessManager *manager =
new QNetworkAccessManager(file);
36 QNetworkReply *reply = manager->post(request, file);
38 QObject::connect(reply, &QNetworkReply::finished, [=]() {
39 if (reply->error() == QNetworkReply::NoError)
40 qDebug() <<
"Log file upload successful.";
42 qWarning() <<
"Log file upload failed:" << reply->errorString();
46 QCoreApplication::quit();
51int main(
int argc,
char *argv[])
53 QCoreApplication app(argc, argv);
56 if (!QNetworkInformation::loadDefaultBackend()) {
57 qWarning() <<
"Failed to load QNetworkInformation backend. Exiting.";
61 QNetworkInformation *netInfo = QNetworkInformation::instance();
63 QTimer::singleShot(0, [&]() {
65 if (netInfo->isMetered()) {
66 qWarning() <<
"Log upload skipped: Current network is metered.";