android上引入七牛 上传图片或者文件 最终整理版本(可用)

1:导入相关的包(注意是4个哦)

compile files(‘libs/android-async-http-1.4.9.jar‘)compile files(‘libs/qiniu-android-sdk-7.0.9.jar‘)compile files(‘libs/happy-dns-0.2.4.jar‘)compile files(‘libs/httpclient-4.3.6.jar‘)

2:看下面代码 调用方法即可.

package cn.haodehaode.utils;

import android.util.Log;

import com.qiniu.android.http.ResponseInfo;import com.qiniu.android.storage.UpCompletionHandler;import com.qiniu.android.storage.UploadManager;import com.qiniu.android.utils.UrlSafeBase64;

import org.json.JSONObject;

import javax.crypto.Mac;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;

/** * 七牛上传工具类 * * @author JALEN  [email protected] * @version V1.0 * @Title: ${FILE_NAME} * @Package cn.haodehaode.utils * @Description: ${todo} * @date 15/10/31 15:32 */public class LxQiniuUploadUtils {    //七牛后台的key    private static String AccessKey = HDConstants.QN_ACCESSKEY;    //七牛后台的secret    private static String SecretKey = HDConstants.QN_SECRETKEY;

    private static final String MAC_NAME = "HmacSHA1";    private static final String ENCODING = "UTF-8";

    public static void uploadPic() {        String keys = CommonUtils.getTodayDate18();        String bucketName = HDConstants.BUCKET_AUTHFILE;

        try {            // 1:第一种方式 构造上传策略            JSONObject _json = new JSONObject();            long _dataline = System.currentTimeMillis() / 1000 + 3600;            _json.put("deadline", _dataline);// 有效时间为一个小时            _json.put("scope", bucketName);            String _encodedPutPolicy = UrlSafeBase64.encodeToString(_json                    .toString().getBytes());            byte[] _sign = HmacSHA1Encrypt(_encodedPutPolicy, SecretKey);            String _encodedSign = UrlSafeBase64.encodeToString(_sign);            String _uploadToken = AccessKey + ‘:‘ + _encodedSign + ‘:‘                    + _encodedPutPolicy;            //此处为模拟的本地相册的一个图片            String picPath = "/storage/emulated/0/DCIM/Camera/IMG_20150924_214351.jpg";            UploadManager uploadManager = new UploadManager();            //以下api可以修改为图片地址 或者file  或者byte[]            uploadManager.put(picPath, keys, _uploadToken,                    new UpCompletionHandler() {                        @Override                        public void complete(String key, ResponseInfo info,                                             JSONObject response) {                            Log.e("qiniu", info.toString());                        }                    }, null);        } catch (Exception e) {            e.printStackTrace();        }    }

    /**     * 这个签名方法找了半天 一个个对出来的、、、、程序猿辛苦啊、、、 使用 HMAC-SHA1 签名方法对对encryptText进行签名     *     * @param encryptText 被签名的字符串     * @param encryptKey  密钥     * @return     * @throws Exception     */    public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey)            throws Exception {        byte[] data = encryptKey.getBytes(ENCODING);        // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称        SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);        // 生成一个指定 Mac 算法 的 Mac 对象        Mac mac = Mac.getInstance(MAC_NAME);        // 用给定密钥初始化 Mac 对象        mac.init(secretKey);        byte[] text = encryptText.getBytes(ENCODING);        // 完成 Mac 操作        return mac.doFinal(text);    }

}

?

时间: 2024-09-28 12:21:55

android上引入七牛 上传图片或者文件 最终整理版本(可用)的相关文章

PHPcms使用七牛存储图片文件

不知道现在有多少人使用第三方云存储,我反正是在云存储一出来就开始快速使用了.因为第三方云存储的优势太大了.无论是自己开发,还是使用现成的cms,通过第三方云存储都可以达到减轻服务器压力,更多的个性化功能,更高的安全性,更快的速度. 我开始用云存储是自己开发的网站,是一个音乐外链的网站.可以快速的实现大量文件快速上传,下载.现在使用phpcms做资讯跟下载类网站同样非常适用.可以将所有的图片跟文件资源放到第三方云存储上面.第三方云存储我最开始用的是又拍云,后面一直用的是七牛. phpcms是一款非

nodejs+phantomjs+七牛 实现截屏操作并上传七牛存储

近来研究了下phantomjs,只是初涉,还谈不上深入研究,首先介绍下什么是phantomjs. 官网上的介绍是:”PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.”翻译过来就是:”PhantomJS

七牛上传图片和二进制流方法

package com.qlyd.aspmanager.common.qiniu; import com.alibaba.fastjson.JSON;import com.google.gson.Gson;import com.qiniu.common.QiniuException;import com.qiniu.common.Zone;import com.qiniu.http.Response;import com.qiniu.storage.BucketManager;import co

yii2上传七牛图片(超详细)

其实不止是yii框架可以用, 因为只是一个类库使用,在哪个框架都可以用 前期准备 1.在七牛注册账号https://portal.qiniu.com/signup/choice 2.创建空间https://portal.qiniu.com/bucket(记住存储空间名称和存储区域) 3.创建秘钥https://portal.qiniu.com/user/key   第一步: 在composer.json里面的require属性里面加"crazyfd/yii2-qiniu": "

Android 短信模块分析(七) MMS数据库定义及结构整理

一. mmssms.db 数据库mmssms.db中表的定义见表4.1至4.18所示: 表4.1 addr(彩信地址) 字段名 类型 描述 备注 _id INTEGER PRIMARY_KEY 主键ID 系统生成 msg_id INTEGER The ID of MM whcich this Address entry belongs to. Pdu主键关联 contact_id INTEGER The ID of contact entry in Phone Book   address TE

使用python实现将截图上传到七牛服务器,并将七牛生成的外部链接添加的剪切板的功能

目的:在使用markdown来记录文档时,不必每次都将截图存到文档中,只需将图片链接存放到文档中,此时就想到了需要使用云服务器和自动上传文件的功能 OS: Ubuntu 15.10 version 0.1: 工具:截图工具shutter, 剪切板操作工具: xsel 源代码: 1 #!/usr/bin/python 2 import time ##时间模块,使用时间戳生成唯一的文件名 3 import commands ##python中的执行shell命令的模块 4 import os ##同

UEditor上传图片到七牛C#(后端实现)

由于个人网站空间存储有所以选择将图片统一存储到七牛上,理由很简单 1  免费10G 的容量  ,对个人网站足够用 2  规范的开发者文档 和完善的sdk(几乎所有热门语言sdk) 整体思路 图片上传七牛云 在我看来无非两种方式 1 前端表单或ajax异步提交请求到七牛服务器 ,当然此时也需要经过后端获取相应的  token (图片->七牛服务器) 2 直接后端代码请求 七牛服务器 ,官方有各版本语言的sdk 提供 ,可提高开发效率 ,降低开发难度  (图片->自己服务器->七牛服务器)

koa-ueditor上传图片到七牛

问题描述:服务器系统架构采用的是koa(并非koa2),客户端富文本编辑器采用的是百度的ueditor控件.现在需要ueditor支持将图片直接上传到七牛云. 前提:百度的ueditor需要在本地配置为可用,图片上传相关的配置可以参考官方文档的描述.由于服务器用的node.js,因此ueditor目录下我们只需要保留nodejs目录,其它部分如php,asp.net等都可以删掉.然后根据自己服务器的环境适当修改config.json文件中的配置. 现有方案:现有npm和github上找到的库有很

从七牛服务下载PDF文件

/** * 从七牛下载PDF文件 * @param request * @param response * @param exhiId * @throws MalformedURLException */ @RequestMapping("/loadCanZhanHan") public void downloadNet(HttpServletRequest request, HttpServletResponse response,String exhiId) throws Malf