Qt上传文件

来源:互联网 发布:java 写入word 编辑:程序博客网 时间:2024/04/29 18:48

Qt 上传图片到服务器

#define BOUND "margin"void setHttpUrl(){    QFile file(imagePath);    QFileInfo fileInfo(file);   //文件    //url字符串拼接的时候,第一个拼接字符前要加上"?"    QUrl url("http://www.***.com/update-product-info/plugin.php?special=index&run=upload");    QByteArray data;    data.append("--" + QByteArray(BOUND) + "\r\n");    data.append("Content-Disposition: form-data; name=\"product_name\"\r\n\r\n");#ifdef Q_OS_MAC    data.append(qApp->applicationName().toUtf8() + QString(" mac").toUtf8());#else    data.append(qApp->applicationName().toUtf8());#endif    data.append("\r\n");    data.append("--" + QByteArray(BOUND) + "\r\n");    data.append("Content-Disposition: form-data; name=\"Movie_Title\"\r\n\r\n");    data.append(moveTitle.toUtf8());    data.append("\r\n");    data.append("--" + QByteArray(BOUND) + "\r\n");    data.append("Content-Disposition: form-data; name=\"file\";filename=\"");    data.append(fileInfo.fileName().toUtf8());    data.append("\"\r\n");    data.append("Content-Type: image/jpeg\r\n\r\n");    //将文件内容写到数据中    if (file.open(QIODevice::ReadOnly))    {        data.append(file.readAll());   //let's read the file        data.append("\r\n");    }    data.append("--" + QByteArray(BOUND) + "--\r\n");  //closing    QNetworkRequest request(url);    request.setRawHeader(QString("Content-Type").toAscii(),                        QString("multipart/form-data; boundary=" + QByteArray(BOUND)).toAscii());    request.setRawHeader(QString("Content-Length").toAscii(),                        QString::number(data.length()).toAscii());    //post url    QNetworkReply *reply = BrowserApplication::networkAccessManager()->post(request , data);}
0 0
原创粉丝点击