Android用百度云上传文件
2013-10-11 17:14
218 查看
1.先在百度云申请账号
2.创建应用,可以创建多个,不同的应用有不同的应用ID,API Key,Secret Key
3.API管理-API列表里开启PCS API,同时创建文件目录
建立android项目,将SDK中lib的JAR包拷到项目的libs文件夹下
代码里先用APIKEY登录
BaiduOAuth oauthClient = new BaiduOAuth();
oauthClient.startOAuth(this, mbApiKey, new String[]{"basic", "netdisk"}, new BaiduOAuth.OAuthListener() {
@Override
public void onException(String msg) {
Toast.makeText(getApplicationContext(), "Login failed " + msg, Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(BaiduOAuthResponse response) {
if(null != response){
mbOauth = response.getAccessToken();
Toast.makeText(getApplicationContext(), "Token: " + mbOauth + " User name:" + response.getUserName(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "Login cancelled", Toast.LENGTH_SHORT).show();
}
});
上传的时候mbRootPath=“/apps/mybst” mybst是开启PCS API时创建的文件目录名
if(null != mbOauth){
Thread workThread = new Thread(new Runnable(){
public void run() {
String tmpFile = "/storage/sdcard0/zzzz.jpg";
// String tmpFile = "/mnt/sdcard/DCIM/File/1.txt";
BaiduPCSClient api = new BaiduPCSClient();
api.setAccessToken(mbOauth);
final BaiduPCSActionInfo.PCSFileInfoResponse response = api.uploadFile(tmpFile, mbRootPath + "/zzz.jpg", new BaiduPCSStatusListener(){
@Override
public void onProgress(long bytes, long total) {
// TODO Auto-generated method stub
final long bs = bytes;
final long tl = total;
mbUiThreadHandler.post(new Runnable(){
public void run(){
Toast.makeText(getApplicationContext(), "total: " + tl + " sent:" + bs, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public long progressInterval(){
return 1000;
}
});
mbUiThreadHandler.post(new Runnable(){
public void run(){
Toast.makeText(getApplicationContext(), response.status.errorCode + " " + response.status.message + " " + response.commonFileInfo.blockList, Toast.LENGTH_SHORT).show();
}
});
}
});
workThread.start();
2.创建应用,可以创建多个,不同的应用有不同的应用ID,API Key,Secret Key
3.API管理-API列表里开启PCS API,同时创建文件目录
建立android项目,将SDK中lib的JAR包拷到项目的libs文件夹下
代码里先用APIKEY登录
BaiduOAuth oauthClient = new BaiduOAuth();
oauthClient.startOAuth(this, mbApiKey, new String[]{"basic", "netdisk"}, new BaiduOAuth.OAuthListener() {
@Override
public void onException(String msg) {
Toast.makeText(getApplicationContext(), "Login failed " + msg, Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(BaiduOAuthResponse response) {
if(null != response){
mbOauth = response.getAccessToken();
Toast.makeText(getApplicationContext(), "Token: " + mbOauth + " User name:" + response.getUserName(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "Login cancelled", Toast.LENGTH_SHORT).show();
}
});
上传的时候mbRootPath=“/apps/mybst” mybst是开启PCS API时创建的文件目录名
if(null != mbOauth){
Thread workThread = new Thread(new Runnable(){
public void run() {
String tmpFile = "/storage/sdcard0/zzzz.jpg";
// String tmpFile = "/mnt/sdcard/DCIM/File/1.txt";
BaiduPCSClient api = new BaiduPCSClient();
api.setAccessToken(mbOauth);
final BaiduPCSActionInfo.PCSFileInfoResponse response = api.uploadFile(tmpFile, mbRootPath + "/zzz.jpg", new BaiduPCSStatusListener(){
@Override
public void onProgress(long bytes, long total) {
// TODO Auto-generated method stub
final long bs = bytes;
final long tl = total;
mbUiThreadHandler.post(new Runnable(){
public void run(){
Toast.makeText(getApplicationContext(), "total: " + tl + " sent:" + bs, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public long progressInterval(){
return 1000;
}
});
mbUiThreadHandler.post(new Runnable(){
public void run(){
Toast.makeText(getApplicationContext(), response.status.errorCode + " " + response.status.message + " " + response.commonFileInfo.blockList, Toast.LENGTH_SHORT).show();
}
});
}
});
workThread.start();
相关文章推荐
- 关于云储存或者百度云的基础问题, 用java/android 实现上传文件到云储存(比如百度云)
- 关于云储存或者百度云的基础问题, 用java/android 实现上传文件到云储存(比如百度云)
- android 上传文件到百度云
- 关于云储存或者百度云的基础问题, 用java/android 实现上传文件到云储存(比如百度云)
- Android -- 文件上传到服务器
- Android中Socket大文件断点上传
- RN文件上传(仅ios),下载,创建,删除等文件操作(兼容IOS和Android)--react-native-fs
- ANDROID以流形式上传文件
- Android之Http请求实例(文件上传+servlet接收)
- Android上传文件至服务器
- android之文件上传
- android-async-http使用一个参数上传多个文件
- Android socket实现文件上传下载器
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
- android 选择视频文件 上传到后台服务器
- Android_本地上传照片文件
- Android中自定义MultipartEntity实现文件上传以及使用Volley库实现文件上传
- 树莓派实现上传文件到百度云
- Android 在同一个请求中上传多个参数和文件
- Android 多文件上传