lyf666 2017-02-22 15:49:41 +08:00
parent 175e4d14c0
commit af30f6cf41
1 changed files with 56 additions and 0 deletions

View File

@ -1,9 +1,18 @@
package cn.cloudowr.attach; package cn.cloudowr.attach;
import cn.cloudowr.sdk.FastJSONUtil;
import cn.cloudowr.sdk.jfinal.AbsController; 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.MongoCollection;
import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document; import org.bson.Document;
import org.bson.types.ObjectId;
import java.io.File;
import java.util.UUID;
/** /**
* Created by lyf66 on 2017/2/20. * Created by lyf66 on 2017/2/20.
@ -13,6 +22,53 @@ public class ACon extends AbsController{
renderText("attach pong"); 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<Document> 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<Document> collection = getCollection();
Document doc = collection.find(Filters.eq("_id", new ObjectId(id))).first();
renderJson("url", doc.getString("ossurl"));
}
@Override @Override
public MongoCollection<Document> getCollection() { public MongoCollection<Document> getCollection() {
MongoDatabase mongoDataBase = Config.getMongoDatabase(); MongoDatabase mongoDataBase = Config.getMongoDatabase();