七牛上传图片 使用线程

来源:互联网 发布:在数据库中 概念模型 编辑:程序博客网 时间:2024/06/08 20:07
public synchronized static void upload(final String FilePath,final UploadCallBack uploadCallBack){new Thread(new Runnable() {@Overridepublic 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();// 得到日记记录的idfinal 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() {@Overridepublic 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+ ";"));}@Overridepublic void onError(String errMsg) {System.out.println(errMsg);}});}