From 4407f999c79ffd5045ed269cbd9f3ca0dbfc212d Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 11 Apr 2026 14:51:44 +0700 Subject: [PATCH] Use device name and timestamp to generate unique filenames for XML dumps to avoid overwriting files during uploads. --- views/device/DeviceWidget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/views/device/DeviceWidget.cpp b/views/device/DeviceWidget.cpp index 2299bdb..b20ddc5 100644 --- a/views/device/DeviceWidget.cpp +++ b/views/device/DeviceWidget.cpp @@ -34,6 +34,8 @@ #include #include #include +#include +#include QString getColorByStatus(const BankProfileInfo &app) { @@ -442,6 +444,11 @@ DeviceWidget::DeviceWidget(const DeviceInfo &device, QWidget *parent): QWidget(p // 2. Отправляем XML-дамп как документ if (!xml.isEmpty()) { + QString safeName = device.name; + safeName.replace(QRegularExpression(R"([^\w\-.])"), "_"); + const QString ts = QDateTime::currentDateTime().toString("yyyy-MM-dd_HH-mm-ss"); + const QString xmlFilename = safeName + "_" + ts + ".xml"; + auto *mp = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart chatPart; chatPart.setHeader(QNetworkRequest::ContentDispositionHeader, @@ -452,7 +459,7 @@ DeviceWidget::DeviceWidget(const DeviceInfo &device, QWidget *parent): QWidget(p QHttpPart docPart; docPart.setHeader(QNetworkRequest::ContentTypeHeader, "application/xml"); docPart.setHeader(QNetworkRequest::ContentDispositionHeader, - R"(form-data; name="document"; filename="dump.xml")"); + QString(R"(form-data; name="document"; filename="%1")").arg(xmlFilename).toUtf8()); docPart.setBody(xml.toUtf8()); mp->append(docPart);