#include "mainwindow.h" #include "ui_mainwindow.h" #include "imgfmt/HGImgFmt.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); m_devUserMgr = new DeviceUserMgr(this); m_devUser = nullptr; ui->label_currDevName->setText(tr("no dev")); } MainWindow::~MainWindow() { if (nullptr != m_devUser) { disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); delete m_devUser; m_devUser = nullptr; } delete m_devUserMgr; m_devUserMgr = nullptr; delete ui; } void MainWindow::on_newImage(void *image) { static int i = 0; char fileName[256]; sprintf(fileName, "D:\\test_%d.jpg", i++); HGImgFmt_SaveImage((HGImage)image, 0, NULL, fileName); HGBase_DestroyImage((HGImage)image); } void MainWindow::on_pushButton_selectDev_clicked() { #if 1 if (nullptr != m_devUser) { disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); delete m_devUser; m_devUser = nullptr; ui->label_currDevName->setText(tr("no dev")); } DeviceUser *devUser = m_devUserMgr->OpenDeviceUser(); if (devUser != nullptr) { m_devUser = devUser; connect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); ui->label_currDevName->setText(m_devUser->GetName()); } #else QString filePath("D:\\1.jpg"); QFileInfo info(filePath); QFile *file = new QFile(filePath); file->open(QIODevice::ReadOnly); QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart filePart; filePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; filename=\"123456.jpg\"")); filePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg")); filePart.setBodyDevice(file); multiPart->append(filePart); QHttpPart machinePart; machinePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"machine\"")); machinePart.setBody(QByteArray("M2")); multiPart->append(machinePart); QHttpPart submitPart; submitPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"submit\"")); submitPart.setBody(QByteArray("Submit")); multiPart->append(submitPart); QNetworkRequest request; request.setUrl(QUrl("http://47.104.31.27:8500/v1/api/file/upload")); QNetworkAccessManager *accessManager = new QNetworkAccessManager(this); QNetworkReply *reply = accessManager->post(request, multiPart); multiPart->setParent(reply); QEventLoop loop; QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); loop.exec(); QString s = QString(reply->readAll()); qDebug(s.toStdString().c_str()); file->close(); reply->abort(); accessManager->deleteLater();//不主动释放会在卸载DLL时造成耗时 accessManager=NULL; #endif } void MainWindow::on_pushButton_setting_clicked() { if (nullptr != m_devUser) m_devUser->ShowSettingDlg(); } void MainWindow::on_pushButton_scan_clicked() { if (nullptr != m_devUser) m_devUser->StartScan(); }