Просмотр исходного кода

[ueditor][新增]:支持ueditor

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
7875112c36
4 измененных файлов: 57 добавлений и 50 удалений
  1. +54
    -47
      mallinkAdmin/src/main/java/com/iformall/ueditor/upload/Uploader.java
  2. +1
    -1
      mallinkAdmin/src/main/resources/application-dev.yml
  3. +1
    -1
      mallinkAdmin/src/main/resources/application-prod.yml
  4. +1
    -1
      mallinkAdmin/src/main/resources/application-test.yml

+ 54
- 47
mallinkAdmin/src/main/java/com/iformall/ueditor/upload/Uploader.java Просмотреть файл

@@ -13,6 +13,7 @@ import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.iformall.shiro.UserSession;
import com.iformall.ueditor.define.BaseState;
import com.iformall.ueditor.define.State;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
@@ -46,64 +47,70 @@ public class Uploader {
state = Base64Uploader.save(this.request.getParameter(filedName),
this.conf);
} else {
state = new BinaryUploader().save(this.request, this.conf);

if (state.isSuccess()) {
JSONObject stateJson = JSON.parseObject(state.toJSONString());

MultipartFile multiReq= ((MultipartHttpServletRequest) this.request).getFile("upfile");
String tenantId = (String) SecurityUtils.getSubject().getSession().getAttribute(UserSession.tenantId);

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());

try {
AmazonS3 s3 = AmazonS3ClientBuilder.standard()
.withRegion(conf.get("clientRegion").toString())
.withCredentials(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
return new BasicAWSCredentials(conf.get("access").toString(), conf.get("secret").toString());
}

@Override
public void refresh() {

}
})
.build();
String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
if (dot >= 0) {
fileName = tenantId + "/" + fileName + multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
} else {
fileName = tenantId + "/" + fileName;
}


s3.putObject(
new PutObjectRequest(conf.get("bucketName").toString(), fileName, multiReq.getInputStream(), metadata)
.withCannedAcl(CannedAccessControlList.PublicRead));
URL url = s3.getUrl(conf.get("bucketName").toString(), fileName);
logger.info(url.toString());
state.putInfo("url", url.toString());
} catch (AmazonServiceException ase) {
MultipartFile multiReq= ((MultipartHttpServletRequest) this.request).getFile("upfile");
String tenantId = (String)SecurityUtils.getSubject().getSession().getAttribute(UserSession.tenantId);

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
if (dot >= 0) {
fileName = tenantId + "/" + fileName + multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
} else {
fileName = tenantId + "/" + fileName;
}

state = state = new BaseState(true);
state.putInfo("size", multiReq.getSize());
state.putInfo("title", filedName);

JSONObject stateJson = JSON.parseObject(state.toJSONString());

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());

try {
AmazonS3 s3 = AmazonS3ClientBuilder.standard()
.withRegion(conf.get("clientRegion").toString())
.withCredentials(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
return new BasicAWSCredentials(conf.get("access").toString(), conf.get("secret").toString());
}

@Override
public void refresh() {

}
})
.build();
s3.putObject(
new PutObjectRequest(conf.get("bucketName").toString(), fileName, multiReq.getInputStream(), metadata)
.withCannedAcl(CannedAccessControlList.PublicRead));
URL url = s3.getUrl(conf.get("bucketName").toString(), fileName);
//logger.info(url.toString());
state.putInfo("url", url.toString());
} catch (AmazonServiceException ase) {
/*
logger.warn("Caught an AmazonServiceException, which " +
"means your request made it " +
"to Amazon S3, but was rejected with an error response" +
" for some reason.");
logger.warn(ase.getMessage());
} catch (AmazonClientException ace) {
*/
ase.printStackTrace();
} catch (AmazonClientException ace) {
/*
logger.warn("Caught an AmazonClientException, which " +
"means the client encountered " +
"an internal error while trying to " +
"communicate with S3, " +
"such as not being able to access the network.");
logger.warn("Error Message: " + ace.getMessage());
} catch (IOException ioe) {
logger.warn("Caught an IOException: " + ioe.getMessage());
}
*/
ace.printStackTrace();
} catch (IOException ioe) {
//logger.warn("Caught an IOException: " + ioe.getMessage());
ioe.printStackTrace();
}
}



+ 1
- 1
mallinkAdmin/src/main/resources/application-dev.yml Просмотреть файл

@@ -46,7 +46,7 @@ ueditor:
config: config.json
unified: true
upload-path: ./upload/
url-prefix: https://mall.youlane.cn/api/upload/
url-prefix: ""

logging:
level:


+ 1
- 1
mallinkAdmin/src/main/resources/application-prod.yml Просмотреть файл

@@ -43,7 +43,7 @@ ueditor:
config: config.json
unified: true
upload-path: ./upload/
url-prefix: https://admin.malls.iformall.com/upload/
url-prefix: ""

logging:
level:


+ 1
- 1
mallinkAdmin/src/main/resources/application-test.yml Просмотреть файл

@@ -43,7 +43,7 @@ ueditor:
config: config.json
unified: true
upload-path: ./upload/
url-prefix: https://admintest.malls.iformall.com/upload/
url-prefix: ""

logging:
level:


Загрузка…
Отмена
Сохранить