百度提供了一套REST的API,可以让开发者将本地文件上传至网盘,不过,现在这个API已经不提供新的app申请了,想用着套API的可以参考一下,下面链接里的方法。
本身我已经做了一个本地的文件上传模块,因此在实现PCS上传的时候就直接在这个基础上做的。
主要参考了下面这篇博文
但是,有几个地方需要注意
- 如果你使用的是最新的Httpclient,那么,MultipartEntity是不能用了,要改为
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addPart("upfile", fileBody);
HttpEntity entity = builder.build();
- 另外,在参考的博文里面,使用的是post方法,但是,我试了一下,发现不行,还是要用put方法才可以
HttpPost put = new HttpPost(postUrl);
最后,response的返回的是一个json格式的数据,我在解析数据的时候,用了JSONObject,但是,Myeclipse自动引包之后,还是会报错,原因是需要添加ezmorph-1.0.6.jar这个包,需要自己去下,然后添加进去。
respResult = EntityUtils.toString(response.getEntity());
JSONObject json = JSONObject.fromObject(respResult);
以上就基本上实现了最简单的文件上传功能。