附件上传性能太差,如何优化

认真做事开心做人 发布于 2017/08/14 09:43
阅读 161
收藏 0
public Map<String, Object> upload(MultipartFile file, String destDir, HttpServletRequest request) throws Exception {
        Map<String,Object> map = new HashMap<>();
        String fileUrl;
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
        destDir = destDir+getToday()+"/";
        try {
            String fn = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
            String fileName = file.getOriginalFilename();
            if (CheckZfUtil.checkFileName(fn)) {
                throw new Exception("文件名包含特殊字符");
            }
            String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
            int length = getAllowSuffix().indexOf(suffix);
            if (length == -1) {
                throw new Exception("请上传允许格式的文件");
            }
            if (file.getSize() > getAllowSize()) {
                throw new Exception("您上传的文件大小已经超出范围");
            }
          //  String realPath = request.getSession().getServletContext().getRealPath("/");
            String realPath;
            Properties prop = System.getProperties();
            String osName = prop.getProperty("os.name");
            if (osName.startsWith("win") || osName.startsWith("Win")) {
                realPath = "D:/aa" + destDir;
            } else {
                realPath = "/home/bea1/aa" + destDir;
            }
            File destFile = new File(realPath);
            if (!destFile.exists()) {
                destFile.mkdirs();
            }
            File f = new File(destFile.getAbsoluteFile() + "/" + fileName);
            file.transferTo(f);
            f.createNewFile();
 
            fileUrl = realPath + fileName;
            
        } catch (Exception e) {
            throw e;
        }
        return map;
    }

压力测试说上传附件功能性能太差,如何优化。前端用的是百度webuploader,因为只是几M的小文件,就没有采用分片上传。这段代码该如何优化下

加载中
0
开源中国-首席营养师

上传附件,性能不差才怪,这个要看网络的好不好。你能做的也就是把文件读出来,存到某的地方。

返回顶部
顶部