Use device name and timestamp to generate unique filenames for XML dumps to avoid overwriting files during uploads.
This commit is contained in:
parent
4f3e2e472f
commit
4407f999c7
@ -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);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user