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 ...
随机推荐
- 下载特定区域内街景照片数据 | Download Street View Photos within Selected Region
作者:姜虹,刘子煜,王玥瑶,杨安琪,天靖居士 街景图片可以通过api下载,但需要提供参数,参数中的poiid.panoid.location可以用来确定位置或全景图片的ID以确定对应的街景图片.优先级 ...
- [LintCode笔记了解一下]39.恢复旋转排序数组
思路: 1.需要O(n)的事件复杂度,所以多次循环不考虑 2.四步翻转法 -第一步,找到数组里最小的那个数字,因为是旋转排序数组,所以只要找到某个位置arr[i]>arr[i+1]的话,就找到了 ...
- 搭建自己的git服务器--gogs
//@desn:搭建自己的git服务器--gogs //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@date:201 ...
- IOS GPS跟踪备注
CLLocationManager还提供了如下类方法来判断当前设备的定位相关服务状态. Ø + locationServicesEnabled:返回当前定位服务是否可用. Ø + deferredLo ...
- orcl 对table的一些操作
删除 table:drop table 表名: 恢复删除 : flashback table 表名 to before drop: 清空table : truncate table 表名; 恢复清空: ...
- ArcGIS 工作经历【IFeatureBuffer】【CAD转SHP】
由于工作需要,需要基于ArcGIS进行二次开发,软件的开发过程当中有一个非常重要的功能,就是需要把CAD的数据转换为shp文件保存,方便后面的使用编辑,存储. 先说一下功能的前提,需要将CAD转换为s ...
- 死磕Java之聊聊HashSet源码(基于JDK1.8)
HashSet的UML图 HashSet的成员变量及其含义 public class HashSet<E> extends AbstractSet<E> implements ...
- 模拟Springboot二:内置tomcat
既然要将tomcat内置到项目中,并且能够成功的启动项目就要知道 tomcat 做了哪些事情 ,那么就必须先搞明白 一个 普通的web项目是如何被我们本地配置的tomcat启动并运行的 (1). 先 ...
- kubernetes api文档
http://kubernetes.kansea.com/docs/api-reference/v1/definitions/
- MooseFS分布式文件系统介绍
一.简介 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本.对于访问的客户端或者用户来说,整个分布式网络文件系统 ...