Java实现文件上传功能时间:2022-08-31 15:07:56文件上传代码: public void uploadFile(){try{//创建临时文件夹initFolder();}catch(Exception e) {e.printStackTrace();makeJS(request,out,"创建临时文件夹失败!");return;}DiskFileUpload fu = new DiskFileUpload();// 设置缓存最大文件尺寸,这里是10MBlong sizeMax = 10*1024*1024;// 设置上传最大文件尺寸,这里是5MBlong sizeMaxLimit = 5*1024*1024;// 设置编码fu.setHeaderEncoding("GBK");// 设置最大文件尺寸fu.setSizeMax(sizeMax);// 设置缓冲区大小,这里是4kbfu.setSizeThreshold(1024 * 1024);// 设置临时目录:fu.setRepositoryPath(SAVE_PATH);// 得到所有的文件:List fileItems;try {fileItems = fu.parseRequest(request);Iterator i = fileItems.iterator();// 依次处理每一个文件:while (i.hasNext()) {FileItem fi = (FileItem) i.next();//验证文件大小不能超过5MBif(fi.getSize()> sizeMaxLimit){//makeJS(request,out,"上传文件不能大于5MB!");fi.delete();//删除临时文件return;}//验证文件格式(doc、xls)if(!"application/msword".equals(fi.getContentType()) && !"application/vnd.ms-excel".equals(fi.getContentType())){//makeJS(request,out,"上传文件只能是Excel或者Word格式!");fi.delete();//删除临时文件return;}// 获得文件名,这个文件名包括路径://String fileName = DataFormat.getIsoStr(fi.getName());String fileName = fi.getName();String toReceiptName = System.currentTimeMillis()+ fileName.substring(fileName.lastIndexOf("."));// 写入文件,可以从fileName中提取文件名:fi.write(new File(SysConfig.RECEIPT_PATH + toReceiptName));makeHtml(request,out,fileName,toReceiptName,fi.getContentType());log.info("上传文件路径:" + fileName);}} catch (Exception e) {e.printStackTrace();//makeJS(request,out,"上传文件失败!");}} 要导入以下包: commons-fileupload-1.1.1.jar commons-io-1.4.jar