七牛客户端上传图片文件

package com.sdnu.jimbo.qiniu;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;

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

import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;

/**
 * @author Jimbo
 *
 * 1. 导入两个jar包 -- qiniu-android-sdk-VERSION.jar
 *                 android-async-http-VERSION.jar//这个jar是android一个开源的
 *                 //网络请求的框架
 * 2. 对你的上传的图片进行一定的处理 比如转换成byte数组 一般转换成base64比较好
 * 3. 获得uoLoadToken
 * 4. new一个UploadManager,调用put方法,上传资源
 * 5. 判断是否上传成功 //还可以定义其他的一些更复杂的动作 比如断点续传什么的
 */

public class MainActivity extends Activity {
	String url = "";//服务器生成upLoadToken的URL
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String uoLoadToken = getUploadToken();//获取upLoadToken
        byte[] result = getBaseEcode();//获取图片的Base64编码
        UploadManager uploadManager = new UploadManager();//根据七牛提供的api
        uploadManager.put(result, uoLoadToken, null, new UpCompletionHandler() {

			@Override
			public void complete(String arg0, ResponseInfo arg1, JSONObject arg2) {
				// TODO Auto-generated method stub
				Log.i("qiniu", arg1.toString());
			}
		}, null);
    }

	private byte[] getBaseEcode() {
		Drawable myDrawable = this.getResources().getDrawable
        		(R.drawable.likeadog);
        BitmapDrawable bDrawable = (BitmapDrawable) myDrawable;
        Bitmap myBitmap = bDrawable.getBitmap();
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        myBitmap.compress(CompressFormat.JPEG, 100, outputStream);
        byte[] b = outputStream.toByteArray();
        byte[] result = Base64.encode(b, Base64.DEFAULT);
        return result;
	} 

	private String getUploadToken()
	{
	    HttpClient client = new DefaultHttpClient();
	    StringBuilder builder = new StringBuilder();

	    HttpGet myget = new HttpGet(url);
	    try {
	        HttpResponse response = client.execute(myget);
	        BufferedReader reader = new BufferedReader(new InputStreamReader(
	        response.getEntity().getContent()));
	        for (String s = reader.readLine(); s != null; s = reader.readLine()) {
	            builder.append(s);
	        }
	        return builder.toString();
	    } catch (Exception e) {
	        Log.i("url response", "false");
	        e.printStackTrace();
	        return null;
	    }
	}
}
//源码下载 链接:http://pan.baidu.com/s/1c0gzpkc 密码:xwdf

百度网盘地址

时间: 2024-12-20 19:27:18

七牛客户端上传图片文件的相关文章

PHPcms使用七牛存储图片文件

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

从七牛服务下载PDF文件

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

七牛多文件压缩

公司一个项目,需要用到七牛的多文件压缩功能,看了文档,有点懵,网上查代码,也没找到C#相关的,最后提了工单,在工程师的帮助下解决了这个问题. Mac mac = new Mac(AK, SK); Config config = new Config(); OperationManager operationManager = new OperationManager(mac, config); //tmpImgUrl是在七牛已经存在的图片地址,后面是随机的一个图片名称,压缩包用的. string

七牛图片云存储 配置及示例

一.七牛自定义配置节点 <configSections> <section name ="QiniuConfig" type="Amy.Toolkit.QiniuStorage.SectionHandler"/> </configSections> <QiniuConfig> <add key="AccessKey" value="自己的accesskey"><

Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新

最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com/widuu/qiniu_ueditor_1.4.3/tree/v1.0.0 关于地址报错 请修改 php/config.json 中的 uploadQiniuUrl 和 ChunkUploadQiniuUrl 参数,因为最近反馈地区错误报错比较多,举个简单的例子华南地区修改如下 "uploadQi

用WP Super Cache和七牛为你的WordPress网站加速

众所周知,WordPress一直都是博客建站的首选程序,而现在也有越来越多的企业网站都选择采用WordPress来搭建. WordPress虽好但其过于臃肿且响应速度慢等缺点也为站长们所诟病,目前网上介绍为WordPress加速的方法五花八门,各有各的优缺点. 而我选择的是通过WP Super Cache和七牛相结合为WordPress加速. 首先~ 在入正题之前,有必要和新入坑的童鞋科普下以下内容: 不论是在本地还是服务器上成功安装WordPress后,你会发现其后台打开速度好慢好慢,这是因为

七牛存储图片代码

1 //上传到七牛 2 //单个文件 3 //formname: 表单名字; pre: 图片Url中显示的图片名字(也就是七牛中的key) 4 public function upImage($formname, $pre) 5 { 6 if (empty($_FILES[$formname]['size'])) { 7 return array( 8 'qiniu_name' => '000', 9 'file_name' => '0000' 10 ); 11 } 12 13 //取得后缀

使用七牛备份服务器数据

背景 自己建了一个小服务在学校的服务器上,而服务器总是各种”意外“,每次出现意外都后悔为什么不把备份数据拷贝一份呢? 这次服务器稳定些了,该想想办法怎么把备份安全存放了,省得哪天服务器”一病不起“,自己就要欲哭无泪了. 工具 七牛是一个强大的数据管理平台,为互联网网站和移动App提供数据的在线托管.传输加速以及图片.音视频等富媒体的云处理服务. 七牛标准用户(免费用户),可以免费存储10G空间,免费每月下载流量10G,免费每月put/delete 10万次,免费每月get 100万次. 如果想要

PHP+七牛云存储上传图片代码片段

2014年11月14日 16:37:51 第一段代码是上传单个图片的,第二个是上传多个图片的 1 //上传到七牛 2 //单个文件 3 //formname: 表单名字; pre: 图片Url中显示的图片名字(也就是七牛中的key) 4 public function upImage($formname, $pre) 5 { 6 if (empty($_FILES[$formname]['size'])) { 7 return array( 8 'qiniu_name' => '000', 9