From af30f6cf412fd02a8d3b446a27f5374f9c4277a1 Mon Sep 17 00:00:00 2001 From: lyf666 Date: Wed, 22 Feb 2017 15:49:41 +0800 Subject: [PATCH] . --- src/main/java/cn/cloudowr/attach/ACon.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/main/java/cn/cloudowr/attach/ACon.java b/src/main/java/cn/cloudowr/attach/ACon.java index 6aa4862..4650d72 100644 --- a/src/main/java/cn/cloudowr/attach/ACon.java +++ b/src/main/java/cn/cloudowr/attach/ACon.java @@ -1,9 +1,18 @@ package cn.cloudowr.attach; +import cn.cloudowr.sdk.FastJSONUtil; import cn.cloudowr.sdk.jfinal.AbsController; +import com.aliyun.oss.model.UploadFileRequest; +import com.aliyun.oss.model.UploadFileResult; +import com.jfinal.upload.UploadFile; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; +import com.mongodb.client.model.Filters; import org.bson.Document; +import org.bson.types.ObjectId; + +import java.io.File; +import java.util.UUID; /** * Created by lyf66 on 2017/2/20. @@ -13,6 +22,53 @@ public class ACon extends AbsController{ renderText("attach pong"); } + public void upload() throws Throwable { + UploadFile file = getFile(); + String json = getPara("json", null); + Document doc = null; + if (json != null) { + try { + doc = Document.parse(json); + } catch (Exception e) { + renderError(400); + return; + } + } + if (doc == null) { + doc = new Document(); + } + + String key = UUID.randomUUID().toString().replace("-", ""); + UploadFileRequest uploadFileRequest = new UploadFileRequest(Config.BukketName, key); + uploadFileRequest.setUploadFile(file.getUploadPath() + File.separator + file.getFileName()); + uploadFileRequest.setTaskNum(5); + uploadFileRequest.setPartSize(1 * 1024 * 1024); + uploadFileRequest.setEnableCheckpoint(true); + UploadFileResult uploadFileResult = Config.getOssClient().uploadFile(uploadFileRequest); + uploadFileResult.getMultipartUploadResult(); + + MongoCollection collection = getCollection(); + doc.put("ossurl", Config.OssUrl + key); + doc.put("filename", file.getFileName()); + collection.insertOne(doc); + + file.getFile().delete(); + +// renderJson(doc.toJson()); + renderJson(FastJSONUtil.bsonToJSON(doc)); + } + + public void download() throws Throwable { + String id = getPara("id"); + if (id == null || id.isEmpty()) { + renderError(404); + return; + } + MongoCollection collection = getCollection(); + Document doc = collection.find(Filters.eq("_id", new ObjectId(id))).first(); + renderJson("url", doc.getString("ossurl")); + } + @Override public MongoCollection getCollection() { MongoDatabase mongoDataBase = Config.getMongoDatabase();