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);