-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmms.cpp
46 lines (42 loc) · 1.24 KB
/
smms.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "smms.h"
smms::smms(QObject *parent) : QObject(parent)
{
hu=new httpUpload();
connect(hu,SIGNAL(finished()),this,SLOT(httpFinished()));
connect(hu,SIGNAL(downloadError(QString)),this,SLOT(httpError(QString)));
hu->init("https://sm.ms/api/upload");
}
void smms::upload(QString fileName)
{
hu->multiPartClear();
QString cdh=QString("form-data; name=\"smfile\"; filename=\"")+QFile(fileName).fileName()+QString("\"");
hu->appendImg(cdh,fileName);
hu->appendText("file_id","0");
hu->doUpload();
}
void smms::httpFinished()
{
hu->closeImageFile();
QString dataRead=hu->readData();
char tmp[100];
if(dataRead.contains("error"))
{
getStringBetweenAandB(dataRead.toStdString().c_str(),"msg: \"","\"",tmp);
emit uploadError(QString(tmp));
qDebug()<<"smms error";
qDebug()<<tmp;
return;
}
if(dataRead.contains("success"))
{
getStringBetweenAandB(dataRead.toStdString().c_str(),"url\":\"","\"",tmp);
emit uploadSucess(QString(tmp));
qDebug()<<"smms success";
qDebug()<<tmp;
return;
}
}
void smms::httpError(QString inErrorMsg)
{
emit uploadError(inErrorMsg);
}