Android开发利用七牛云平台上传图片到远程服务器算法

来源:互联网 发布:免费彩票预测软件 编辑:程序博客网 时间:2024/06/15 15:35

   前段时间做个小东西要从手机端上传图片到服务器,再从服务器端解析显示出来,刚开始用的是老方法,将图片压缩为base64采用post方式上传,后来发现解析的稍后总是解析不完,毋庸置疑的是,这种经典的方法肯定是没有问题的,只是自己的思路出现了差错,后来在一位学长的介绍下,使用了骑牛云平台,这个平台就图片上传而言可以实现的功能是,从手机端上传图片到云端返回来图片的网址,在存储的时候我们直接存储图片的网址,解析时解析网址即可显示出图片。

  根据官网文档,简单的写了一个算法。

  代码如下:

  import java.io.File;


import com.alibaba.*;
import com.alibaba.media.*;
import com.alibaba.media.client.MediaClient;
import com.alibaba.media.client.impl.DefaultMediaClient;
import com.alibaba.media.upload.UploadPolicy;
import com.alibaba.media.upload.UploadTokenClient;
import com.alibaba.media.upload.impl.DefaultUploadTokenClient;


class WantuUpload{
public String AK,SK,namespace;
WantuUpload(String AK,String SK,String namespace)
{
this.AK=AK;
this.SK=SK;
this.namespace=namespace;
}
MediaConfiguration configuration = new MediaConfiguration();
UploadTokenClient tokenClient = new DefaultUploadTokenClient(configuration);

public String getUploadToken(){
// 1. 定义全局配置信息
configuration.setAk(AK);
configuration.setSk(SK);
configuration.setNamespace(namespace);
// 3. 定义上传策略
UploadPolicy uploadPolicy = new UploadPolicy();
uploadPolicy.setInsertOnly(UploadPolicy.INSERT_ONLY_NONE);
uploadPolicy.setExpiration(System.currentTimeMillis() + 3600 * 1000);

String token = tokenClient.getUploadToken(uploadPolicy);
return token;
}

public Result<MediaFile> uploadFile(String localFile,String remoteDir,String remoteFileName)
{
MediaClient client = new DefaultMediaClient(configuration);
File file = new File(localFile);
Result<MediaFile> result = client.upload(remoteDir,remoteFileName, file);
return result;
}
}








public class aliUpload {
public static void main(String args[])
{
WantuUpload clouddisk=new WantuUpload("ak","sk","文件夹名");
String token=clouddisk.getUploadToken();
//System.out.println(token);


System.out.println(clouddisk.uploadFile("c:\\hgh.gif", "GIF", "123456+时间种子.gif"));
System.out.println("http://clouddisk.file.alimmdn.com/"+"GIF/"+"debug.gif");
}
}


选中图片后获取file路径,上传至七牛云平台,返回输出的即是图片路径。

本人为小白初学者,希望与大家多多交流,共同进步。

1 0
原创粉丝点击