文件上传JAVA实现

实现简单文件的上传
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload sfu = new ServletFileUpload(factory);
        sfu.setFileSizeMax(1024 * 1024 * 2);
        try {
            List<FileItem> items = sfu.parseRequest(request);
            for (FileItem item : items) {
                if (item.isFormField()) {
                    System.out.println(item.getFieldName() + "---" + item.getString("UTF-8"));
                } else {
                    System.out.println("文件名:" + item.getName());
                    System.out.println("文件类型:" + item.getContentType());
                    System.out.println("文件大小:" + item.getSize());
                    System.out.println("文件内容:" + item.getString());
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
                    String dateStr = sdf.format(new Date());
                    String path = request.getServletContext().getRealPath("upload/" + dateStr);
                    System.out.println("保存文件的路径:" + path);
                    File dir = new File(path);
                    if (!dir.exists()) {
                        dir.mkdirs();
                    } else {
                        System.out.println("文件夹已经存在");
                    }
                    String suffix = item.getName().split("\\.")[1];
                    String fileName = UUID.randomUUID().toString() + "." + suffix;
                    System.out.println("保存的文件名:" + fileName);
                    String fileSavePath = path + "\\" + fileName;
                    System.out.println("保存文件完整路径:" + fileSavePath);
                    item.write(new File(fileSavePath));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值