提交 47d7faaf 编写于 作者: O o2null

Merge branch 'fix/删除各模块的资源上传业务' into 'wrdp'

[平台]删除各模块的资源上传服务,用不到

See merge request o2oa/o2oa!2728
package com.x.base.core.project.jaxrs.sysresource;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.JarTools;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
class ActionUploadResource extends BaseAction {
private static Logger logger = LoggerFactory.getLogger(ActionUploadResource.class);
ActionResult<Wo> execute(EffectivePerson effectivePerson, Boolean asNew,String fileName,String filePath,byte[] bytes,
FormDataContentDisposition disposition) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
if (StringUtils.isEmpty(fileName)) {
fileName = this.fileName(disposition);
}
if(!fileName.toLowerCase().endsWith(".zip")){
throw new Exception("file must be zip file!");
}
if(bytes==null || bytes.length==0){
throw new Exception("file must be not empty zip file!");
}
File tempFile = new File(Config.base(), "local/temp/upload");
FileUtils.forceMkdirParent(tempFile);
FileUtils.forceMkdir(tempFile);
FileUtils.cleanDirectory(tempFile);
File zipFile = new File(tempFile.getAbsolutePath(), fileName);
FileUtils.writeByteArrayToFile(zipFile, bytes);
File dist = new File(Config.base(), Config.DIR_SERVERS_WEBSERVER);
if(StringUtils.isNotEmpty(filePath)){
dist = new File(dist, filePath);
FileUtils.forceMkdirParent(dist);
FileUtils.forceMkdir(dist);
}
List<String> subs = new ArrayList<>();
subs.add("x_");
subs.add("o2_");
logger.print("{}上传静态资源:{},资源大小:{},到:{}", effectivePerson.getDistinguishedName(), fileName, bytes.length, dist.getAbsolutePath());
JarTools.unjar(zipFile, subs, dist, asNew);
FileUtils.cleanDirectory(tempFile);
Wo wo = new Wo();
wo.setValue(true);
result.setData(wo);
return result;
}
public static class Wo extends WrapBoolean {
}
}
......@@ -10,8 +10,6 @@ import com.x.base.core.project.jaxrs.ResponseFactory;
import com.x.base.core.project.jaxrs.StandardJaxrsAction;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.*;
......@@ -26,28 +24,6 @@ public class SysResourceAction extends StandardJaxrsAction {
private static Logger logger = LoggerFactory.getLogger(SysResourceAction.class);
@JaxrsMethodDescribe(value = "上传静态资源(仅上传到当前服务器)", action = ActionUploadResource.class)
@POST
@Path("upload/resource/as/new/{asNew}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
public void uploadResource(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("覆盖类型:true删除原文件然后上传,false覆盖原文件") @PathParam("asNew") Boolean asNew,
@JaxrsParameterDescribe("附件名称") @FormDataParam(FILENAME_FIELD) String fileName,
@JaxrsParameterDescribe("附件存放目录(可以为空)") @FormDataParam("filePath") String filePath,
@JaxrsParameterDescribe("附件标识") @FormDataParam(FILE_FIELD) final byte[] bytes,
@JaxrsParameterDescribe("上传文件") @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) {
ActionResult<ActionUploadResource.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionUploadResource().execute(effectivePerson, asNew, fileName, filePath, bytes, disposition);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "获取静态资源信息.", action = ActionListResource.class)
@GET
@Path("filePath/{filePath}")
......@@ -66,4 +42,4 @@ public class SysResourceAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
}
\ No newline at end of file
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册