文件上传实现

文件上传最常用到的就是在form submit中,对于需要上传文件的表单记得设置enctype="multipart/form-data",然后在表单递交后从RequestContext中取得相关数据信息,这里要借助于uploadbean.jar

用以下语句可以获取一般的表单数据

MultipartFormDataRequest mrequest = new MultipartFormDataRequest(context.getRequest());

Sting firstName = mrequest.getParameter("firstName");

 

而对于文件之类的要先上传到服务器文件目录下,然后再作相关处理,核心代码如下:


                        Hashtable files = mrequest.getFiles();
                        if ((files != null) || (!files.isEmpty())) {
                            int iFileCount = files.size();
                            UploadFile file = (UploadFile) files.get("attachment");
                            sLocalFileName = file.getFileName();
                            //int ii = sLocalFileName.indexOf(".");
                            //String sExt = sLocalFileName.substring(ii, sLocalFileName.length());
                            //log.info("sExt:" + sExt);
                            //java.util.Date dt = new java.util.Date(System.currentTimeMillis());
                            //SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                            //sServerFileName = fmt.format(dt);
                            sServerFileName = sLocalFileName;
                            File dir = new File(sPath);
                            if (!dir.exists()) {
                                dir.mkdirs();
                            }
                            upBean.setFolderstore(sPath);
                            upBean.addUploadListener(fileMover);
                            fileMover.setNewfilename(sServerFileName);
                            upBean.store(mrequest, "attachment");
                            log.info("file path is " + sPath + "/" + sServerFileName);

                            if (!sLocalFileName.equals("")) {
                                attachFile = new File(sPath + "/" + sServerFileName);
                                log.info("fileAttachment:" + attachFile.getName());
                                //smtpCore.addAttachment(attachFile);

                            }
                        }

 

这里的smtpCore.addAttachment(attachFile);是我需要将此文件再作为附件发送到某邮箱地址中,当然发送完毕后如果在服务器上不需要存档的话就可以直接用file.delete()将其删除。

 

Note:

该实现需要借用到以下三个包uploadbean.jar,filemover.jar,cos.jar

其中cos.jar虽然在java文件中貌似没有引用到,但在lib中如果不把它放进去就会报错,这个在调试过程中就发现了这一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值