Qt客户端阿里云服上传文件
整体原理:
阿里云提供了c程序上传文件到阿里云服务器的sdk工具包,将这个工具包继承在自己的客户端,调用接口即可实现上传文件。
前期准备:
1、阿里云c程序客户端的sdk,下载地址:https://help.aliyun.com/document_detail/32131.html?spm=5176.doc32139.6.768.JIh6Dh (如果地址不对,可以在阿里云的帮助文档中找)
2、安装vs2010或以上版本,目的是为了编译生成oss_c_sdk.lib静态链接库
操作步骤:
1、将下载的文件解压并用vs2010打开,编译生成oss_c_sdk.lib文件(帮助文档有详细方法)
2、将oss_c_sdk目录下的头文件(.h)放在自己工程的源代码目录下,并在工程中添加这些源文件
3、在pro文件中添加库文件
LIBS += -lWS2_32 \
$$PWD/third_party/lib/Release/oss_c_sdk.lib
其中,
ws2_32是vs库中的文件,(我是win32下的程序,如果不是win32的程序,不用加)
oss_c_sdk可以自己放在合适的目录下,在pro中添加路径即可
4、将所下载文件的third_party/include下的头文件放在源代码目录下,并在pro文件中引用相应目录
INCLUDEPATH += third_party/include \
third_party/include/apr \
third_party/include/mxml \
third_party/include/aprutil
这些文件是oss_c_sdk目录下的头文件需要引用的
5、将third_party\lib\Release下的dll放在项目的bin目录下,即exe所在目录,否则不能运行
6、参照所下载示例中的代码,即可完成文件上传,示例代码如下:
int main(int argc, char *argv[])
{
if (aos_http_io_initialize(NULL, ) != AOSE_OK) {
exit();
} put_object_sample();
append_object_sample();
get_object_sample();
head_object_sample();
multipart_object_sample();
delete_object_sample();
aos_http_io_deinitialize(); system("pause"); return ;
}
注意事项:
1、win32一定要加上-lWS2_32否则编译不通过
2、注意要调用aos_http_io_initialize与aos_http_io_deinitialize函数,否则联网不成功
3、对于QString转换为char*的解决代码如下:
QString sMyfilename = "c:\test.c";
QByteArray byteArray_filename = sMyfilename.toLatin1();
char* pchar_filename = new char[byteArray_filename.size() + ];
strcpy(pchar_filename, byteArray_filename.data());
4、第三方库要用release目录下的dll,否则会有问题,debug目录下的反正没用过。
总结:
可以仔细阅读下阿里云的帮助文档,其中有很多源码和解决方案,很详细。
另:有问题欢迎交流O(∩_∩)O~
Qt客户端阿里云服上传文件的更多相关文章
- 关于 tp5.0 阿里云 oss 上传文件操作
tp5.0 结合阿里云oss 上传文件 1.引入 oss 的空间( composer install 跑下第三方拓展包及核心代码包) 备注:本地测试无误,放到线上有问题 应该是移动后的路劲(相对于服 ...
- TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片
**TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:** 之后看看制作完成的演示:(由于全部功能弄成GIF有点大,限制上传大小好像在1M之内,压缩之后也有1.9 ...
- 使用阿里云OSS上传文件
本文介绍如何利用Java API操作阿里云OSS对象存储. 1.控制台操作 首先介绍一下阿里云OSS对象存储的一些基本概念. 1.1 进入对象存储界面 登录阿里云账号,进入对象存储界面,如图所示. 进 ...
- 阿里云OSS上传文件本地调试跨域问题解决
问题描述: 最近后台说为了提高上传效率,要前端直接上传文件到阿里云,而不经过后台.因为在阿里云服务器设置的允许源(region)为某个固定的域名下的源(例如*.cheche.com),直接在本地访问会 ...
- 阿里云OSS 上传文件SDK
Aliyun OSS SDK for C# 上传文件 另外:查找的其他实现C#上传文件功能例子: 1.WPF用流的方式上传/显示/下载图片文件(保存在数据库) (文末有案例下载链接) 2.WPF中利用 ...
- 阿里云OSS上传文件demo
1.安装ali-oss npm install ali-oss --save 2.demo 此例中使用到了ElementUI的el-upload组件.因为样式为自定义的 所以没有用element的自动 ...
- 阿里云oss上传文件如何支持https?
let client = new OSS.Wrapper({ accessKeyId: res.data.accessKeyId, accessKeySecret: res.data.accessKe ...
- MAC中向阿里云服务器上传文件
打开mac中的终端 使用命令:$scp /local/file user@remote:/file /local/file 是本地文件 后面部分[用户名]@[ip地址:][服务器中的文件目录] not ...
- 阿里云 oss 上传文件,js直传,.net 签名,回调
后台签名 添加引用 string dir = string.Format("{0:yyyy-MM-dd}", date) + "/"; OssClient cl ...
随机推荐
- plsql中查看sql执行计划
想要优化sql语句,可以从sql执行计划入手. 在plsql客户端,提供了一个方便的按钮来查看执行计划 选中需要查看的sql语句,点击此按钮,就可以看到该条语句的执行计划了. 结果集包括描述,用户,对 ...
- 如何确定tabcontrol哪一页码是活跃页???
tabControl1.SelectedIndex属性 显示了现在显示的是哪一页码内的控件.
- centos 升级 python
1. 下载python 2.7编译安装 $wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz $tar zxvf Python-. ...
- C#判断程序调用外部的exe已结束
来源: C#如何判断程序调用的exe已结束 方法一:这种方法会阻塞当前进程,直到运行的外部程序退出 System.Diagnostics.Process exep = System.Diagnosti ...
- arp欺骗进行流量截获-1
这边博文主要讲一下怎么使用arp欺骗进行流量截获,主要用于已经攻入内网以后,进行流量监听以及修改. 一.什么是arp arp协议是以太网的基础工作协议,其主要作用是是一种将IP地址转化成物理地 ...
- Block Formatting Contexts (块级格式化上下文) 详解
最近在学习BootStrap框架,发现里面清除浮动的类 .clearfix 跟平时自己用的不太一样.它的样式是这样的: .clearfix:before { content: " ...
- 编码原则实例------c++程序设计原理与实践(进阶篇)
编码原则: 一般原则 预处理原则 命名和布局原则 类原则 函数和表达式原则 硬实时原则 关键系统原则 (硬实时原则.关键系统原则仅用于硬实时和关键系统程序设计) (严格原则都用一个大写字母R及其编号标 ...
- 数据结构之BF算法,kmp算法,三元组,十字链表总结
在这一章中,老师教了我们四种数据结构:BF算法,kmp算法,三元组和十字链表:还给我们讲了2019年团体天体赛中T1-8的AI题 1.对于BF和kmp算法,老师除了在课堂上讲解算法的主要核心思想外,还 ...
- 将php命令加入cenos环境变量
0.修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码 1.PATH=$PATH:/usr/local/webserver/php/bin:/usr/lo ...
- CSS探案之 background背景属性剖析
首先,我们先来看看两个css属性:background和background-color,对!就是这两位,相信大家在平时应该没少 麻烦人家把,反正我是这样,几乎也少会用到背景图,原因很简单:就是有点害 ...