一个文件上传和下载的小模板

要记得去其糟粕

    public boolean fileUpLoad(String businessKey, int packageId, CommonsMultipartFile mFile, Integer accountId) {
        try {
            String fileName = mFile.getFileItem().getName();
            fileName = System.currentTimeMillis() + (long)accountId + "-" + fileName.trim();
            if (fileName != null && !fileName.equals("")) {
                FilePackage filePackage = new FilePackage();
                filePackage.setFilePackageID(packageId);
                List<FilePackage> listFilePackage = this.filePackageDao.listByHiber(filePackage);
                if (listFilePackage != null && listFilePackage.get(0) != null) {
                    FileOutputStream os = new FileOutputStream(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName);
                    System.out.println("保存文件的路径" + ((FilePackage)listFilePackage.get(0)).getPhysicalPath());
                    InputStream in = mFile.getInputStream();
                    boolean var10 = false;

                    int b;
                    while((b = in.read()) != -1) {
                        os.write(b);
                    }

                    os.flush();
                    in.close();
                    os.close();
                    String urlName = fileName.substring(fileName.length() - 4, fileName.length());
                    String nameType = urlName.substring(urlName.indexOf(".") + 1, urlName.length());
                    if (nameType.equals("doc")) {
                        ToHtml.doc2Html(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName, packageId + "//" + fileName + ".jsp");
                    } else if (nameType.equals("docx")) {
                        ToHtml.docx2Html(((FilePackage)listFilePackage.get(0)).getPhysicalPath() + fileName, packageId + "//" + fileName + ".jsp");
                    }

                    Files files = new Files();
                    files.setFileCode("1");
                    files.setFilePackageID(packageId);
                    files.setTotalNumber(1);
                    files.setFileName(fileName);
                    files.setCurrentNumber(1);
                    files.setFileCreateDate(new Date());
                    this.filesDao.saveByHiber(files);
                    System.out.println("保存文件正常");
                    FileVirtual fileVirtual = new FileVirtual();
                    fileVirtual.setVirtualFileCode("1");
                    fileVirtual.setFileVersion("1.0");
                    fileVirtual.setFileId(files.getFileId());
                    fileVirtual.setFileFormatId(1);
                    fileVirtual.setBusinessKey(businessKey);
                    fileVirtual.setPhysicalName(fileName);
                    fileVirtual.setFileHash("1");
                    fileVirtual.setUploader(1);
                    fileVirtual.setUploadTime(new Date());
                    fileVirtual.setVersionDescription("1.0");
                    this.fileVirtualDao.saveByHiber(fileVirtual);
                    return true;
                } else {
                    return false;
                }
            } else {
                System.out.println("提交失败");
                return false;
            }
        } catch (Exception var15) {
            var15.printStackTrace();
            System.out.println("提交失败");
            return false;
        }
    }
    public void fileDownload(String businessKey, int packageId, HttpServletResponse response) {
        try {
            OutputStream outputStream = response.getOutputStream();
            byte[] b = new byte[600];
            String physicalpath = this.filesDao.getPhysicalpath(businessKey, packageId);
            System.out.println("测试输出读取的要下载的文件物理路径" + physicalpath);
            File fileload = new File(physicalpath);
            String filename = this.filesDao.getFileName(businessKey, packageId);
            filename = filename.substring(filename.indexOf("-") + 1);
            response.setHeader("Content-disposition", "attachment;filename=" + new String(filename.getBytes("utf-8"), "ISO8859-1"));
            response.setContentType("application/msword");
            long fileLength = fileload.length();
            String length = String.valueOf(fileLength);
            response.setHeader("Content_length", length);
            FileInputStream inputStream = new FileInputStream(fileload);
            boolean var13 = false;

            int n;
            while((n = inputStream.read(b)) != -1) {
                outputStream.write(b, 0, n);
            }
        } catch (IOException var14) {
            var14.printStackTrace();
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值