把图片转成 二进制数组就行了。 http://topic.csdn.net/u/20120529/09/156e88dd-d1da-4739-8a27-c9f7d40a0588.html
参考一下此文,我之前也回复过
---------------------------------------------------------------------------
需要特别说明的是 我们的sdk是weibo4j-oauth2.jar
另外说明的是 图片是用二进制传过去的
LZ应该看看官方的demo
Weibo weibo = new Weibo();
weibo.setToken("sina token");
Timeline tm = new Timeline();
Status status = null;
String content = "xxxx";
byte[] img = null;//这里是图片二进制数据
if(img!=null && img.length>0){
ImageItem ii = new ImageItem(img);
status = tm.UploadStatus(URLEncoder.encode(content, "UTF-8"), ii);
}else{
status = tm.UpdateStatus(content);
}
参考一下此文,我之前也回复过
---------------------------------------------------------------------------
需要特别说明的是 我们的sdk是weibo4j-oauth2.jar
另外说明的是 图片是用二进制传过去的
LZ应该看看官方的demo
Weibo weibo = new Weibo();
weibo.setToken("sina token");
Timeline tm = new Timeline();
Status status = null;
String content = "xxxx";
byte[] img = null;//这里是图片二进制数据
if(img!=null && img.length>0){
ImageItem ii = new ImageItem(img);
status = tm.UploadStatus(URLEncoder.encode(content, "UTF-8"), ii);
}else{
status = tm.UpdateStatus(content);
}
我用的就是新版的,像什么Timeline,ImageItem之类的都没有private String upload(Weibo weibo, String source, String file, String status, String lon,
String lat) throws WeiboException {
WeiboParameters bundle = new WeiboParameters();
bundle.add("source", source);
bundle.add("pic", file);
bundle.add("status", status);
if (!TextUtils.isEmpty(lon)) {
bundle.add("lon", lon);
}
if (!TextUtils.isEmpty(lat)) {
bundle.add("lat", lat);
}
String rlt = "";
String url = Weibo.SERVER + "statuses/upload.json";
try {
rlt = weibo
.request(this, url, bundle, Utility.HTTPMETHOD_POST, mWeibo.getAccessToken());
} catch (WeiboException e) {
throw new WeiboException(e);
}
return rlt;
}这是官方给的范例,我都不知道他们是怎么写的,更不知道里面的图片参数怎么传,怎么会是一个String类型的。
一看到这我就火了,有此感慨一下:新浪的东西是我见过,用过的最差的,一丁点专业性都没有
它倒霉官方自带的Utility类就有你给我的全部代码,而且一模一样