Android使用7牛云存储

第一次使用这个云存储,话说7牛云存储大有来头!区别于国内外其他云存储,七牛自行研发的全分布式架构解决了其他云存储单一数据中心架构可能存在的风险,同时首创双向加速特性对数据上传下载均加速,使得数据访问速度较传统方案平均提升 50%以上。此外,镜像存储客户端直传断点续上传云端富媒体处理等七牛云存储独有的功能也大大提升了开发效率,最大程度减少了服务器资源浪费。

7牛云存储需要3个信息就可以上传图片了。

1,AK(AccessKey)

2,SK(SecretKey)

3,bucketName(应该就是二级域名)

进入账号设置-密钥可以找到如下信息:

JAVA服务器代码:

Config.ACCESS_KEY = "***************************************";
Config.SECRET_KEY = "***************************************";
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);
// 请确保该bucket已经存在
String bucketName = "iamchen";
PutPolicy putPolicy = new PutPolicy(bucketName);
String uptoken = putPolicy.token(mac);
PutExtra extra = new PutExtra();
String key = UUID.randomUUID().toString();
String localFile = tempfile.getAbsolutePath();
PutRet ret = IoApi.putFile(uptoken, key, localFile, extra);
return ret.getKey();//ret.getHash();

Android上传文件代码(先从web服务器得到token):

//若已经上传则文件名显示为:7d0fb768-cace-44c2-9704-29e170c447c9
//未上传为:/storage/sdcard0/RZproject/3e94c815-f2fb-48cc-9d1c-51be2ae245cf.jpg
if (!ViewUtil.isStrEmpty(listFile[i])) {// 如果有文件
    if (ViewUtil.isuploadedphoto(listFile[i])) {// 如果已上传,则没有特殊符号
        listSuccessName[i] = listFile[i];
    } else {
        listSuccessName[i] = null;
        imageCountToUpload++;
        extra.params = new HashMap<String, String>();
        extra.params.put("x:index", String.valueOf(i));
        extra.params.put("x:fileName", listFile[i]);
        //UploadImageAsyncTask
        //putFile(String uptoken, String key, File file, PutExtra extra, JSONObjectRet callback)
        Log.i(TAG, "begin--->IO.putFile");
        File file = new File(listFile[i]);
        IO.putFile(OrderData.getTempToken(), key, file, extra, myJSONObjectRet);
    }
}
myJSONObjectRet是一个回调函数,处理云服务器返回来的结果(服务器保存图片后会返回一段json数据。json数据中有两个数据。一个是key,还有一个是hash)
JSONObjectRet myJSONObjectRet = new JSONObjectRet(){

    @Override
    public void onSuccess(JSONObject obj) {    

        String index = obj.optString("x:index", "");
        String name = obj.optString("x:fileName", "");
        String key = obj.optString("key", "");
        Log.i(TAG, "位置:" + index + ",文件名:" + name +",key:"+key);
        listSuccessName[Integer.valueOf(index)] = key;
        loadedimageCountUp++;
        if (loadedimageCountUp >= imageCountToUpload) {
            setClothesDetail();
        }
        Log.i(TAG, "end--->IO.putFile");
    }

    @Override
    public void onFailure(QiniuException ex) {
        hideProgressDialog();
    }

};

注意在使用之前应该导入相关的包。

下载地址:https://github.com/qiniu/android-sdk

时间: 2024-11-10 07:40:10

Android使用7牛云存储的相关文章

七牛云存储android客户端及java服务端代码编写

前一篇博客提到让我很伤心的c应用,由于是一款供用户上传图片的应用,因此必须解决图片存储问题,如果直接将图片存储至服务器,当用户上传图片较多,服务器空间将很快吃紧,同时也没有那么大的带宽,现实中我买的阿里云服务器是最低配置,数据盘才20G,带宽才1M,如果用这样配置的服务器做图片存储,那实在太扯了.于是很自然的想到用图片云存储服务器,通过不断查找资料,最后将目标定位在七牛云和又拍云.在做选择时,主要对比了两者之间的价格及技术优势,也看了很多相关话题讨论,个人认为这两者无论从技术方案还是产品价格,都

七牛云存储 报错的问题

上传 401 错误码 liangchao • 发表于:2015年08月20日 15:26 • 更新于:2016年01月07日 17:01 一.报错:{"error":"expired token"},{“error”:”token out of date”} 处理方法: 1.将token的有效期设置的长一些.对于比较大的文件,可以适当加长有效期(默认是3600秒) 2.看下自己的服务器时间是否是联网时间.如果时间不准,导致签名后的结果可能已经是过期的了 3.建议客户

用ueditor上传图片、文件等到七牛云存储

ueditor上传文件,是用数据流的形式上传的. 而七牛云存储官方文档中,只提供了文件路径上传的方式. 但是,仅仅是在官方文档中写了这一种方式. 事实上,利用VS的对象管理器,打开Qiniu的dll,我们可以看到以下东西: 其实Qiniu提供的SDK中,是可以利用文件流上传文件的. 所以,根据官方文档提供的案例,我们可以将上传改写成下面的样子: /// <summary> /// 上传文件 /// </summary> /// <param name="key&qu

我为什么选择七牛云存储

在写这篇文章之前先给大家分享一个小福利:2017最新七牛云存储九折优惠券:61d1fd4d 接下来给大家谈一下我用七牛云存储的原因,从七牛一开始的时候我就开始用了,刚开始的时候七牛好像只是做静态存储,那时候我把自己的网站放在七牛上,当然只是一些静态的页面,但是对于一个初中生来说,能做出一个能访问的网站已经很高兴了,当然,那个网站是我自己用记事本一个一个打出来的代码.当时满满的自豪感. 经过了好几年,七牛已经迅速发展成国内数一数二的云存储服务商了.目前的七牛不知在云存储方面位居国内前列,在cdn加

七牛云存储优惠码及使用方法8折

现如今的互联网技术圈,随着存储技术的发展,越来越多的网站为了追求响应速度以及减轻服务器与带宽的负载压力,开始使用云存储技术,大部分网站的需求是存储静态文件或是CDN镜像加速,而这些使用者中有一大部分是使用的七牛云存储,目前七牛针对标准用户免费提供存储空间10GB,免费每月下载流量10GB,免费每月PUT/DELETE 10万次请求,免费每月GET 100万次请求. 如果你的流量比较大或者需要绑定自己的顶级域名(现在七牛绑定自己的域名需要用户充值额度不低于10元)的话,这里还有一个9折优惠码:8c

【Mark】Android应用开发SharedPreferences存储数据的使用方法

Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据. 1.使用SharedPreferences保存数据方法如下: //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences=

使用七牛云存储解决ios7.1的app部署问题

使用七牛云存储解决ios7.1的app部署问题 一.问题描述 开发完ios版本的app.需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装.用户安装过程简单描述如下: 首先通过手机浏览器safari或者扫描二维码获取到下载.plist的地址.然后浏览器会自动跳转到这个地址,下载.读取.plist.(用户跳转的地址是.plist的下载地址.)这个过程,显然使用http协议来下载.plist文件.最后,iphone通过读取.plist文件中配置的.ipa下载地址,来安装.ipa文件,

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

Kindeditor上传图片到七牛云存储插件(PHP版)

由于工作需要,要使用第三方存储作为图床,发现七牛云挺不错,又可以免费使用10G的空间,决定先试试. 项目中使用的是Kindeditor作为网页编辑器的,七牛云的插件里没有现成的Kindeditor的插件,开始是想看着官方提供的手册,自己开发下,结果不知道是我太笨还是手册太高深,结果愣是没看懂,后来迫于工作进度,差点决定要放弃Kindeditor使用Ueditor,毕竟有现成的插件可用,不过迫于对Kindeditor的热衷,最后还是坚持下来了,尽管没找到Kindeditor上传到七牛云的太多资料,