3 Star 2 Fork 0

嵌入式研发部/park_linux

Create your Gitee Account
Explore and code with more than 14 million developers,Free private repositories !:)
Sign up
文件
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
put_image.cpp 3.55 KB
Copy Edit Raw Blame History
fuyaojiutian authored 2018-01-25 08:45 +08:00 . Linux固定车通行
#include "put_image.h"
Put_Image::Put_Image(datebase *db,FileManage *filemg,QObject *parent) :
QThread(parent)
{
this->myDb=db;
this->filelink=filemg;
}
void Put_Image::put_image()//上传照片
{
ticketCheck_t checkInfo;
bool res;
/*res=this->myDb->inOutimage_selcet(&this->myDb->sqlite_db,&checkInfo);
if(res)
{
if(checkInfo.dirflag=="LOCAL")
{
QByteArray mybaty= filelink->openMyFile(1,checkInfo.ticketReturn);
tempcarimage(mybaty,checkInfo.ticketReturn);
}else{
QByteArray mybaty= filelink->openMyFile(2,checkInfo.ticketReturn);
tempcarimage(mybaty,checkInfo.ticketReturn);
}
}else{
emit PutSignal(false);
}*/
res=this->myDb->inOutimage_selcet(&this->myDb->sqlite_db,&checkInfo);
if(res)
{
QByteArray mybaty= filelink->openMyDateFile(checkInfo.dirflag,checkInfo.ticketReturn);
if(mybaty.isEmpty())
{
this->myDb->inOutimage_move(&this->myDb->sqlite_db,checkInfo.ticketReturn);
emit PutSignal(true);
}else{
tempcarimage(mybaty,checkInfo.ticketReturn);
}
}else{
emit PutSignal(false);
}
}
void Put_Image::tempcarimage(QByteArray image,QString file_name)
{
QString str;
QEventLoop loop;
QNetworkAccessManager manager;
//=("http://192.168.10.78:30/api/v1/hand_open_out");
str="http://";
str=str.append(sysInfo->serverIp).append("/api/v1/upload_image");
QByteArray my_filename=file_name.toAscii();
QByteArray bydata;
bydata.append("controller_sn=").append(sysInfo->galleryNumber).append("&file=").append(image).append("&file_name=").append(my_filename);
QUrl url(str);
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
request.setHeader(QNetworkRequest::ContentLengthHeader, bydata.length());
QNetworkReply *reply=manager.post(request,bydata);
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
generalWebTempImage(reply);
}
bool Put_Image::generalWebTempImage(QNetworkReply *reply)
{
QVariant statusCodeV =reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
QVariant redirectionTargetUrl =reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
qDebug()<<"TempImage"<<statusCodeV.toString ()<<redirectionTargetUrl.toString ();
if (reply->error() == QNetworkReply::NoError)
{
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QString str = codec->toUnicode(reply->readAll());
qDebug()<<"*****PutTempImage*****"<<str;
QScriptEngine engine;
QScriptValue sc = engine.evaluate("value="+str);
QString Ref=sc.property("ref").toString ();
QString Mes=sc.property("msg").toString ();
if(Ref==QString::number(1))
{
reply->deleteLater();
emit PutSignal(false);
return false;
}else if(Ref==QString::number(0)){
QString res;
res=this->myDb->hand_InImage(&this->myDb->sqlite_db,Mes);
if(res!="null")
{
this->myDb->inOutimage_move(&this->myDb->sqlite_db,Mes);
filelink->MoveMyFile(res,Mes);
emit PutSignal(true);
}
reply->deleteLater();
emit PutSignal(true);
return true;
}else{
emit PutSignal(false);
return false;
}
}else{
emit PutSignal(false);
return false;
}
}
void Put_Image::run()
{
put_image();
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/gzembedded/park_linux.git
git@gitee.com:gzembedded/park_linux.git
gzembedded
park_linux
park_linux
master

Search