Baidu云盘【文件API】接口学习 『一』 (三)

2014-11-24 10:58:01 · 作者: · 浏览: 2
@param path 云盘存放路径
* @param name 要上传的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path,File file) throws Exception{
//模拟文件
String fileName="README.md";
file = new File(fileName);
path="%2fapps%2fmybaidu%2f"; // 我用的是url编码过源码为:-> "/apps/mybaidu/
/"


//将需要url传值的参数和url组装起来
String u ="https://pcs.baidu.com/rest/2.0/pcs/file path="+path+file.getName()+"&method=upload&access_token=你自己申请的token值";



PostMethod filePost = new PostMethod(u);
//post提交的参数
Part[] parts = {new FilePart(fileName,file)};
//设置多媒体参数,作用类似form表单中的enctype="multipart/form-data"
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient clients = new HttpClient();
//响应代码
int status = clients.executeMethod(filePost);
System.out.println("成功上传"+path+fileName);

BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost.getResponseBodyAsStream(),"utf-8"));
StringBuffer sb = new StringBuffer();
String line;
while((line=buReader.readLine())!=null){
sb.append(line);
}
buReader.close();

// 解析成对象
Gson gson = new Gson();
FileBase cloudInfo = gson.fromJson(sb.toString(), FileBase.class);

return cloudInfo;
}

/**
* @param path 云盘存放路径
* @param name 要上传的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path,File file) throws Exception{
//模拟文件
String fileName="README.md";
file = new File(fileName);
path="%2fapps%2fmybaidu%2f"; // 我用的是url编码过源码为:-> "/apps/mybaidu/
/"


//将需要url传值的参数和url组装起来
String u ="https://pcs.baidu.com/rest/2.0/pcs/file path="+path+file.getName()+"&method=upload&access_token=你自己申请的token值";



PostMethod filePost = new PostMethod(u);
//post提交的参数
Part[] parts = {new FilePart(fileName,file)};
//设置多媒体参数,作用类似form表单中的enctype="multipart/form-data"
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient clients = new HttpClient();
//响应代码
int status = clients.executeMethod(filePost);
System.out.println("成功上传"+path+fileName);

BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost.getResponseBodyAsStream(),"utf-8"));
StringBuffer sb = new StringBuffer();
String line;
while((line=buReader.readLine())!=null){
sb.append(line);
}
buReader.close();

// 解析成对象
Gson gson = new Gson();
FileBase cloudInfo = gson.fromJson(sb.toString(), FileBase.class);

return cloudInfo;
}
上面代码成功后我们就会在/apps/mybaidu/目录下找到README.md文件

上面代码执行还要倒入对应的jar包:下载

commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging.jar
gson-2.2.1.jar
jsoup-1.6.3.jar

\

其他的api怎么用百度给了一个很好的演示平台: