`
suntanguo
  • 浏览: 6309 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

上传下载文件

阅读更多
1 读文件并下载(会弹出框提示下载还是打开)
String fileName = req.getParameter("fileName");
File file = new File(new File(ATTTACH_PARENT_DIR),MessageUtil.getOSFileName(fileName)); //已知文件
        String mimeType = getServletContext().getMimeType(file.getName());
        resp.setContentType(mimeType);
        // response.setContentLength((int)size);
        byte[] buf = new byte[1024];
        int len;
        OutputStream out = null;
        BufferedInputStream in = null;
        try {
            out = new BufferedOutputStream(resp.getOutputStream(), 512);
            in = new BufferedInputStream(new FileInputStream(file), 256);
            while ((len = in.read(buf)) != -1) {
                if (len > 0) {
                    out.write(buf, 0, len);
                }
                out.flush();
            }
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                }
            }
            if (out != null) {
                try {
                    out.close();
                } catch (IOException e) {
                }
            }
        }
2.直接打开文件
Runtime runtime = Runtime.getRuntime();
String cmd = "cmd /c start "
                    + file.getAbsolutePath();
            Process process = runtime.exec(cmd);

3 上传文件



public final void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        this.request = request;
        PrintWriter out = response.getWriter();
        String path = request.getRealPath("/");// getServletContext.;
        boolean writeToFile = true;
        String returnOKMessage = "success";

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);

        String workOrderPlanId = request.getParameter("workOrderPlanIdTextBox");

        if (isMultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            // Create a new file upload handler
            ServletFileUpload upload = new ServletFileUpload(factory);
            // Parse the request
            try {
                List items = upload.parseRequest(request);
                List<FileItem> sourceFileItemList = new ArrayList<FileItem> (items.size());              
                // Process the uploaded items
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                    if (item.isFormField()) {
                        workOrderId = item.getString();
                    } else {
                        sourceFileItemList.add(item);
                    }
                }
                for (FileItem sourceFileItem:sourceFileItemList ) {
            String sourceFileName = FilenameUtils.getName(sourceFileItem.getName());
            if (sourceFileName.trim().length() != 0) {
                try {
                    String name =workOrderPlanLocalService.createAttach(cltWorkOrderPlanPKId, sourceFileName);
                    tobeTransferedAttachList.add(name);
                    name = MessageUtil.getOSFileName(name);
                    File uploadedFile = new File(new File(ATTTACH_PARENT_DIR), name);
                    File parentDir = uploadedFile.getParentFile();
                    if (!parentDir.exists()) {
                        parentDir.mkdirs();
                    }
                    sourceFileItem.write(uploadedFile);
                } catch (Exception e) {
                    throw e;
                }
            }       
        }
            } catch (Exception e) {
                returnOKMessage="faield";
            }
           
        } else {
            returnOKMessage="isMultipartContent = false";
            System.out.println("isMultipartContent = false");
        }

        out.println(returnOKMessage);
}


4 hibernate3.2 JPA 外连接的用法(left outer join on)

select StockItemPhysicalPkg pkg  left outer join pkg.sealMaterial

其中 StockItemPhysicalPkg和 sealMaterial many-to-one 的关系,这里要注意的是和普通的SQL不同,
它没有ON的存在
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics