zoukankan      html  css  js  c++  java
  • android 上传文件到百度云

    http://blog.csdn.net/mathewsking/article/details/12620083


    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();


  • 相关阅读:
    NLP(十六):Faiss应用
    推荐系统(一):DeepFm原理与实战
    NLP(十五):word2vec+ESIM进行文本相似度计算
    NLP(十四):Transformer—用BERT,RoBERTa,XLNet,XLM和DistilBERT文本分类
    1.22学习总结:流计算概述
    1.21学习总结:将RDD转换成DataFrame
    1.20学习总结:DataFrame保存及常用操作
    1.19学习总结:SparkSQL
    1.18学习总结:Spark向HBase写入数据
    1.17学习总结:编写程序读取HBase数据
  • 原文地址:https://www.cnblogs.com/yeyong/p/3906377.html
Copyright © 2011-2022 走看看