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 ...
随机推荐
- On the nightmare that is JSON Dates. Plus, JSON.NET and ASP.NET Web API
Ints are easy. Strings are mostly easy. Dates? A nightmare. They always will be. There's different c ...
- C# winform中窗口的关闭按钮的隐藏与禁用的几种方式说明
首先说一句:不存任何一种方式可以单独隐藏关闭按钮,隐藏的话会把所有最大化,最小化,帮助,关闭按钮都给隐藏掉. 第一 种: 禁用窗口上部的关闭按钮 方法一:在Form1的窗口程序中desigener ...
- HttpWebRequest post上传文件
public static string HttpUploadFile(string url, string path) { // 设置参数 HttpWebRequest request = WebR ...
- CSRF漏洞详细说明
CSRF漏洞详细说明 通常情况下,有三种方法被广泛用来防御CSRF攻击:验证token,验证HTTP请求的Referer,还有验证XMLHttpRequests里的自定义header.鉴于种种原因,这 ...
- MVC Action控制方式
1.Controller 的OnActionExecuting中控制 protected override void OnActionExecuting(ActionExecutingContext ...
- SOA-WebService
一.创建Web服务方法 在项目上右击选择新建项>>Web服务(ASMX),并命名,如MyWebService.asmx 二.注意事项 所有需要外界调用的方法上端均需增加特性[WebMeth ...
- PHP删除目录
function delDir($directory) { if(file_exists($directory)) { $dir_handle = @opendir($directory); if($ ...
- C# 继承(4)
接上章: class NameList { public NameList() => Console.WriteLine("这个是NameList的构造函数"); publi ...
- Jenkins忘记密码
当Jenkins密码忘记时,可以去Jenkins的安装目录下的users\用户名_xxxxx\config.conf文件下找下找到<passwordHash></passwordHa ...
- 协程《三》gevent模块
一 gevent模块 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它 ...