整体原理:

阿里云提供了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客户端阿里云服上传文件的更多相关文章

  1. 关于 tp5.0 阿里云 oss 上传文件操作

    tp5.0 结合阿里云oss 上传文件 1.引入 oss 的空间( composer install 跑下第三方拓展包及核心代码包) 备注:本地测试无误,放到线上有问题  应该是移动后的路劲(相对于服 ...

  2. TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片

    **TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:** 之后看看制作完成的演示:(由于全部功能弄成GIF有点大,限制上传大小好像在1M之内,压缩之后也有1.9 ...

  3. 使用阿里云OSS上传文件

    本文介绍如何利用Java API操作阿里云OSS对象存储. 1.控制台操作 首先介绍一下阿里云OSS对象存储的一些基本概念. 1.1 进入对象存储界面 登录阿里云账号,进入对象存储界面,如图所示. 进 ...

  4. 阿里云OSS上传文件本地调试跨域问题解决

    问题描述: 最近后台说为了提高上传效率,要前端直接上传文件到阿里云,而不经过后台.因为在阿里云服务器设置的允许源(region)为某个固定的域名下的源(例如*.cheche.com),直接在本地访问会 ...

  5. 阿里云OSS 上传文件SDK

    Aliyun OSS SDK for C# 上传文件 另外:查找的其他实现C#上传文件功能例子: 1.WPF用流的方式上传/显示/下载图片文件(保存在数据库) (文末有案例下载链接) 2.WPF中利用 ...

  6. 阿里云OSS上传文件demo

    1.安装ali-oss npm install ali-oss --save 2.demo 此例中使用到了ElementUI的el-upload组件.因为样式为自定义的 所以没有用element的自动 ...

  7. 阿里云oss上传文件如何支持https?

    let client = new OSS.Wrapper({ accessKeyId: res.data.accessKeyId, accessKeySecret: res.data.accessKe ...

  8. MAC中向阿里云服务器上传文件

    打开mac中的终端 使用命令:$scp /local/file user@remote:/file /local/file 是本地文件 后面部分[用户名]@[ip地址:][服务器中的文件目录] not ...

  9. 阿里云 oss 上传文件,js直传,.net 签名,回调

    后台签名 添加引用 string dir = string.Format("{0:yyyy-MM-dd}", date) + "/"; OssClient cl ...

随机推荐

  1. SVN常见问题及解决方式(二)

    1.分支不同 ==> update merge(svn自动合并)2.分支冲突 ==> 协商解决冲突,选择一个正确的版本覆盖(最新的正确直接Revert最新):出现四个文件.黄色感叹号代表S ...

  2. Dennis Gabor与全息摄影

    Dennis Gabor:1900年6月5日出生在匈牙利首都布达佩斯,1971年诺贝尔物理学奖授予英国伦敦帝国科技学院的匈牙利裔物理学家伽博(Dennis Gabor,1900-1979),以表彰他发 ...

  3. POJ3041 Asteroids(二分图最小点覆盖)

    Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape o ...

  4. Android sutdio单元测试 简单使用步骤

    1.简介 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.比如一个函数,一个方法等 2.添加依赖 dependencies { testCompile 'junit: ...

  5. python中的os模块几个常用的方法

    os.getcwd() 得到当前工作目录,即当前python脚本工作的目录路径 os.remove(file):删除一个文件 os.mkdir(name):创建目录 os.path.exists(na ...

  6. WebStrom背景色设置

    Ctrl Alt S快速打开setting:

  7. xcode工程配置绝对路径与相对路径

    1.问题描述 一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这 ...

  8. 基于CAS的单点登录实战(2)-- 搭建cas的php客户端

    在这之前已经搭好了CAS服务端 基于CAS的单点登录实战(1)-- 搭建cas服务器 PHP-Client php-Client是官方支持的,去官网下个最新版就好了.phpCAS 接入很简单,解压放到 ...

  9. react.js学习之路五

    最近没时间写博客,但是我一直在学习react,我发现react是一个巨大的坑,而且永远填不完的坑 关于字符串的拼接: 在react中,字符串的拼接不允许出现双引号“” ,只能使用单引号' ',例如这样 ...

  10. Squid系统服务脚本

    #!/bin/bash # chkconfig: - 90 25 #其中-的意思是所有运行级别 # config: /etc/squid.conf # pidfile: /usr/local/squi ...