1
0
forked from BRT/arc

Use device name and timestamp to generate unique filenames for XML dumps to avoid overwriting files during uploads.

This commit is contained in:
slava 2026-04-11 14:51:44 +07:00
parent 4f3e2e472f
commit 4407f999c7

View File

@ -34,6 +34,8 @@
#include <QSslSocket>
#include <QSslConfiguration>
#include <QTimer>
#include <QRegularExpression>
#include <QDateTime>
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);