public synchronized static void upload(final String FilePath,final UploadCallBack uploadCallBack){
new Thread(new Runnable() {
@Override
public void run() {
String qnIp = Db.findById("config", "cid", 3).get("cqnswitch").toString();
String bucketname=Db.findById("config", "cid", 4).get("cqnswitch").toString();
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Zone.zone2());
// 创建上传对象
UploadManager uploadManager = new UploadManager(cfg);
try {
// 调用put方法上传
Response res = uploadManager.put(FilePath, null,getUpToken(bucketname));
// 打印返回的信息
// System.out.println(res.bodyString());
JSONObject jsonObject = new JSONObject(res.bodyString());
StringBuffer buffer=new StringBuffer();
buffer.append(qnIp).append(jsonObject.get("key").toString());
final String filename = buffer.toString();
uploadCallBack.onSuccess(filename);
} catch (QiniuException e) {
uploadCallBack.onError(e.getMessage());
// Response r = e.response;
// // 请求失败时打印的异常的信息
// System.out.println(r.toString());
// try {
// // 响应的文本信息
// System.out.println(r.bodyString());
// } catch (QiniuException e1) {
// // ignore
// }
}
}
}).start();

}

public interface UploadCallBack{
void onSuccess(String url);
void onError(String errMsg);
}



@Before(Tx.class)
public synchronized void uploadPic() {

File f1 = getFile().getFile();
// 得到日记记录的id
final String id = getPara("id");

String url = "upload/uploadimages/diary/";

String oldname = f1.getName();
final String na = url + System.currentTimeMillis()
+ oldname.substring(oldname.lastIndexOf("."));
String filename = PathKit.getWebRootPath() + "/" + na;
String pathUrl = PathKit.getWebRootPath() + "/" + url;
File f = new File(pathUrl);
// 创建文件夹
if (!f.exists()) {
f.mkdirs();
}
File file = new File(filename);
f1.renameTo(file);
final Record diarylist = Db.findById("diarylist", "id", id);
//
StringBuffer sbf = new StringBuffer();// 本地
sbf.append(na).append(";");
String lpicList = Db.queryStr(" SELECT lpic FROM diarylist where id="
+ id);// 本地
if (lpicList == null || "".equals(lpicList)) {
lpicList = ";";
}
Db.update("diarylist", "id",
diarylist.set("lpic", lpicList + sbf.toString()));
//上传到七牛服务器
QiNiuUtils.upload(PathKit.getWebRootPath() + "/" + na,
new QiNiuUtils.UploadCallBack() {
@Override
public void onSuccess(String url) {
String lpic_urlList = Db
.queryStr("SELECT lpic_url FROM diarylist where id="
+ id);// 七牛
Db.update(
"diarylist",
"id",
diarylist.set("lpic_url", lpic_urlList + url
+ ";"));
}
@Override
public void onError(String errMsg) {
System.out.println(errMsg);
}
});

}