package net.tccn.file; import net.tccn.base.BaseServlet; import net.tccn.base.JBean; import net.tccn.base.Kv; import org.redkale.net.http.*; import javax.annotation.Resource; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * @author: liangxianyou at 2018/10/11 17:08. */ @WebServlet(value = {"/upload/*"}, comment = "测试servlet") public class FileServlet extends BaseServlet { @Resource(name = "property.upfile.dir") private String dir = ""; @Resource(name = "property.upfile.view") private String view = ""; private String format = "%1$tY%1$tm%1$td%1$tH%1$tM%1$tS"; @HttpMapping(url = "/upload/", comment = "文件上传,访问地址:/upload/x") public void uploadExcel(HttpRequest request, HttpResponse response) { String cate = request.getParameter("cate"); List data = new ArrayList(); try { for (MultiPart part : request.multiParts()) { String name = part.getFilename(); String suffix = name.substring(name.lastIndexOf(".")); String path = String.format(format, System.currentTimeMillis()) + suffix; File destFile = new File((winos ? webroot + "/tem/" : dir) + path); if (!destFile.getParentFile().exists()) { destFile.getParentFile().mkdirs(); } part.save(destFile); String viewPath = (winos ? "/tem/" : view) + path; if ("editor".equalsIgnoreCase(cate)) { data.add(viewPath); } else { data.add(Kv.of("name", part.getFilename()).set("filePath", viewPath).set("viewPath", viewPath)); } } } catch (IOException e) { e.printStackTrace(); } if ("editor".equalsIgnoreCase(cate)) { response.finish(Kv.of("errno", 0).set("data", data)); } else { response.finish(JBean.by(0, "", data)); } } }