• 3418阅读
  • 17回复

有偿求一个阿里云QT上传图片的demo[已解决] [复制链接]

上一主题 下一主题
离线巫添良
 

只看楼主 倒序阅读 楼主  发表于: 2019-04-15
C或C++的都行
https://help.aliyun.com/document_detail/103983.html?spm=a2c4g.11186623.6.835.52b129bb2XBc7P
这是阿里云的官网上C++上传的例子,上传图片其实挺简单的,调用方法就行,关键是照他的教程编译出来的库在QT上没运行起来,求大佬们协助,有偿300元(可以再加)

官方是vs编译的,我在msvs编译器版的qt也成功运行了,但是项目上用的是mingw32位编译器的qt,官方的库没法在这上面运行


解决了,将可以运行的版本打包成exe文件,使用命令行的方式传参数调用可以实现效果
离线hgx123

只看该作者 1楼 发表于: 2019-04-15
VS 和 QT库的原因?

只看该作者 2楼 发表于: 2019-04-15
加扣 1392480972
离线巫添良

只看该作者 3楼 发表于: 2019-04-15
回 hgx123 的帖子
hgx123:VS 和 QT库的原因? (2019-04-15 15:25) 

可能 它这个是vs编译的  我用的qt5.9.7 mingw32位的
离线toby520

只看该作者 4楼 发表于: 2019-04-15
      
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线XChinux

只看该作者 5楼 发表于: 2019-04-15
你用它的代码,用它的库编译个可执行文件。
你自己的Qt代码里QProcess调用这个可执行文件上传文件就行了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线toby520

只看该作者 6楼 发表于: 2019-04-15
回 XChinux 的帖子
XChinux:你用它的代码,用它的库编译个可执行文件。
你自己的Qt代码里QProcess调用这个可执行文件上传文件就行了。 (2019-04-15 18:20) 

这个方法太土了 哈哈 有源码 集成即可
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线nigoole

只看该作者 7楼 发表于: 2019-04-16
你得明白他上传的原理就行了,Qt的QNetworkAccessManager就行!然后url需要配置阿里的一些key值,配置完成,直接往这个地址写数据,完事!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 8楼 发表于: 2019-04-16
你得明白他上传的原理就行了,Qt的QNetworkAccessManager就行!然后url需要配置阿里的一些key值,配置完成,直接往这个地址写数据,完事!

  1. char *m_buf = NULL;
  2.     QFile file(ui->lineEditUpdateFile->text());
  3.     if (!file.open(QIODevice::ReadOnly))
  4.     {
  5.         ui->widgetStautus->SetText(QString("文件打开失败: %1").arg(file.fileName()));
  6.         return;
  7.     }
  8.     int file_len = file.size();
  9.     // 文件大小限制,只能上传500KB
  10.     if (file_len > 50 * 1024 * 1024)
  11.     {
  12.         ui->widgetStautus->SetText(QString("文件大小超出范围[1~10MB]"));
  13.         file.close();
  14.         return;
  15.     }
  16.     QDataStream in(&file);
  17.     m_buf = new char[file_len];
  18.     in.readRawData( m_buf, file_len);
  19.     file.close();
  20.     QString strPostData = "/app=";
  21.     strPostData += ui->comboBoxAppConf->currentText();
  22.     strPostData += "&version=";
  23.     strPostData += ui->lineEditVerNum->text();
  24.     strPostData += "&file=";
  25.     QFileInfo fileInfo(file);
  26.     strPostData += fileInfo.fileName();
  27.     QNetworkRequest request(QUrl(GetServerConfig(strPostData)));
  28.     request.setHeader(QNetworkRequest::ContentTypeHeader, "application/octet-stream");
  29.     QByteArray arr = QByteArray(m_buf, file_len);
  30.     // 上传信息
  31.     QNetworkReply *reply = m_networkManager->post(request , arr);
  32.     connect(reply, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(OnUploadProgress(qint64,qint64)));

}
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线巫添良

只看该作者 9楼 发表于: 2019-04-16
回 nigoole 的帖子
nigoole:你得明白他上传的原理就行了,Qt的QNetworkAccessManager就行!然后url需要配置阿里的一些key值,配置完成,直接往这个地址写数据,完事!
char *m_buf = NULL;
    QFile file(ui->lineEditUpdateFile->text());
    if (!file. .. (2019-04-16 11:18) 

大佬能不能写个完整的程序,网络这块不太熟悉,有酬谢的
离线nigoole

只看该作者 10楼 发表于: 2019-04-16
回 巫添良 的帖子
后面大神多!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线令狐少侠

只看该作者 11楼 发表于: 2019-04-16
我前段时间也在做这个,需要帮助加我348940862
离线yshy214

只看该作者 12楼 发表于: 2019-04-16
前段时间刚做了一个ftp上传的小项目,有需要可以加QQ:1017439385
离线XChinux

只看该作者 13楼 发表于: 2019-04-16
curl命令是不是直接可以完成?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线巫添良

只看该作者 14楼 发表于: 2019-04-16
目前还没解决,酬金加到500元,请大佬帮忙
离线305750665

只看该作者 15楼 发表于: 2019-04-16
    
雨田哥: 群号:853086607
QQ: 3246214072

刘典武-feiyangqingyun:专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!QQ:517216493
离线liudianwu

只看该作者 16楼 发表于: 2019-04-16
楼上的nigoole已经告诉了你正确的方法,自己写个按钮单击试试!人不能懒!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线flyer_2001

只看该作者 17楼 发表于: 2019-04-16
直接找技术支持要个MINGW的库,可以直接用了
快速回复
限100 字节
 
上一个 下一个