java文件上传
来源:互联网 发布:拓客宝软件怎么收费 编辑:程序博客网 时间:2024/05/21 16:28
表单应注意的地方:
<form name="form1" method="post" action="" enctype="multipart/form-data">.......</form>后台中的方法1:
<span style="white-space:pre"></span>List<FileItem> fileItems = new ArrayList<FileItem>();Map<String, String> formFields = MultipartRequestParser.parse(request, fileItems, 10 * 1024 * 1024);String opId = formFields.get("opId");//表单中的数据不能通过request.getParameter()取得
String fileName = null;<span style="white-space:pre"></span>String pathM = "upload/operationLog/";<span style="white-space:pre"></span>AttachmentConfig cfg = new AttachmentConfig(pathM);<span style="white-space:pre"></span>AttachmentDao adao = SystemDaoFactory.createAttachmentDao();<span style="white-space:pre"></span>for (int i = 0; i < fileItems.size(); i++) { // 依次处理每个上传的文件<span style="white-space:pre"></span>FileItem item = (FileItem) fileItems.get(i);<span style="white-space:pre"></span>fileName = item.getName().substring(item.getName().lastIndexOf("\\") + 1);<span style="white-space:pre"></span>HibernateUtil.makePersistent(log);<span style="white-space:pre"></span>Attachment att = adao.createAttachment(cfg, fileName, ui, item.getInputStream(), <span style="white-space:pre"></span>OperationLog.class.getName(), log.getId().toString(),null);<span style="white-space:pre"></span>HibernateUtil.makePersistent(att);<span style="white-space:pre"></span>log.setPicName(att.getId().toString());//保存图片附件的ID<span style="white-space:pre"></span>}<span style="white-space:pre"></span>/上面这个是自己定义的附件类
后台中的方法2:
//保存附件<span style="white-space:pre"></span>String pathM = "upload/operationLog/";<span style="white-space:pre"></span>for (int i = 0; i < fileItems.size(); i++) { // 依次处理每个上传的文件<span style="white-space:pre"></span>FileItem item = (FileItem) fileItems.get(i);<span style="white-space:pre"></span>InputStream is = item.getInputStream();<span style="white-space:pre"></span>//图片存放路径+文件名+扩展名<span style="white-space:pre"></span>//String path = RouteUtil.getRequest().getSession().getServletContext().getRealPath("\\")+pathM+item.getName();<span style="white-space:pre"></span>String path = pathM+item.getName();<span style="white-space:pre"></span>log.setPicName(item.getName());//保存图片存放路径<span style="white-space:pre"></span>File file = new File(path);<span style="white-space:pre"></span>File dir = file.getParentFile();<span style="white-space:pre"></span>if(!dir.exists()) <span style="white-space:pre"></span>{<span style="white-space:pre"></span>dir.mkdirs();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>OutputStream os = new FileOutputStream(file);<span style="white-space:pre"></span>int size;<span style="white-space:pre"></span>byte[] buffer = new byte[4096];<span style="white-space:pre"></span>while ((size = is.read(buffer)) != -1) {<span style="white-space:pre"></span>os.write(buffer, 0, size);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>os.close();}
0 0
- Java 文件上传 JQ 文件上传
- java文件上传原理
- java文件上传原理
- java上传文件
- 上传文件 JSP+java
- JAVA上传文件
- java上传文件
- java fileupload上传文件
- java-文件上传案例
- JAVA上传EXCEL文件
- java上传文件
- java 超大文件上传
- java上传文件实例
- java 文件上传
- JAVA 上传文件类
- JAVA之"文件上传"
- java文件上传
- java文件上传方法
- 基于sonarQube的源码测试实践记录 一
- 【ITOO】 EF框架之ORM思想的体现
- Ural1876(贪心)
- MonkeyRunner源码分析之启动
- online_judge_1183
- java文件上传
- 激光焊接规划局非官方
- Onvif开发之Linux下gsoap的使用及移植
- QDir的用法
- C#中的委托和事件
- HDU2544 最短路 Floyd实现
- URAL 1290. Sabotage(STL & 模拟啊)
- 同步和异步的概念
- 基于Instrumentation Framework的开源项目AndroidMonkey简介