java使用fileupload接收上传文件
来源:互联网 发布:mac文档怎么转换格式 编辑:程序博客网 时间:2024/06/09 15:49
需要的包是:
java服务接收端:
方法(一)
//上传图片到服务器,并且获得url@RequestMapping("GetPortraitUrl")public @ResponseBodyGetPortraitUrlResponse GetPortraitUrl(HttpServletRequest request) throws Exception{String uploadPath = "f:\\temp"; // 上传文件的目录String tempPath = "f:\\temp\\buffer\\"; //临时文件目录File uploadFile = new File(uploadPath);if (!uploadFile.exists()) {uploadFile.mkdirs();}File tempPathFile= new File(tempPath);if (!tempPathFile.exists()) {tempPathFile.mkdirs();}System.out.println(request.getContentType());GetPortraitUrlResponse rResponse=new GetPortraitUrlResponse();DiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kbfactory.setRepository(tempPathFile);// 设置缓冲区目录upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MBtry {List<FileItem> items = upload.parseRequest(request);Iterator<FileItem> i = items.iterator();while (i.hasNext()) {FileItem fi = (FileItem) i.next();String fileName = fi.getName();if (fileName != null) {File fullFile = new File(fi.getName());File savedFile = new File(uploadPath, fullFile.getName());fi.write(savedFile);}}} catch (org.apache.commons.fileupload.FileUploadException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 得到所有的文件return rResponse;}方法(二)
//图片上传@RequestMapping("GetPortraitUrl") public void receiveData(HttpServletRequest request, HttpServletResponse response){ PrintWriter out = null; response.setContentType("text/html;charset=UTF-8"); Map map = new HashMap(); FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); File directory = null; List<FileItem> items = new ArrayList(); try { items = upload.parseRequest(request); // 得到所有的文件 Iterator<FileItem> it = items.iterator(); while (it.hasNext()) { FileItem fItem = (FileItem) it.next(); String fName = ""; Object fValue = null; if (fItem.isFormField()) { // 普通文本框的值 fName = fItem.getFieldName(); // fValue = fItem.getString(); fValue = fItem.getString("UTF-8"); map.put(fName, fValue); } else { // 获取上传文件的值 fName = fItem.getFieldName(); fValue = fItem.getInputStream(); map.put(fName, fValue); String name = fItem.getName(); if(name != null && !("".equals(name))) { name = name.substring(name.lastIndexOf(File.separator) + 1); // String stamp = StringUtils.getFormattedCurrDateNumberString(); directory = new File("f://test"); directory.mkdirs(); String filePath = ("f://test")+ File.separator + name; map.put(fName + "FilePath", filePath); InputStream is = fItem.getInputStream(); FileOutputStream fos = new FileOutputStream(filePath); byte[] buffer = new byte[1024]; while (is.read(buffer) > 0) { fos.write(buffer, 0, buffer.length); } fos.flush(); fos.close(); map.put(fName + "FileName", name); } } } } catch (Exception e) { System.out.println("读取http请求属性值出错!"); // e.printStackTrace(); } // 数据处理 try { out = response.getWriter(); out.print("{success:true, msg:'接收成功'}"); out.close(); } catch (IOException e) { e.printStackTrace(); } }
update.jsp文件:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false"%> <% String appContext= request.getContextPath();// 获得当前应用的根路径 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + appContext+"/" ;%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>上传目录</title></head><body><form method="POST" enctype="multipart/form-data" action="GetPortraitUrl" name="uploadForm"> 选择一个文件: <input type="file" name="upfile"><br/> <br/> <input type="submit" value="上传"></form></body></html>
阅读全文
0 0
- java使用fileupload接收上传文件
- java Servlet使用fileupload组件接收上传的多文件
- 使用FileUpload接收上传内容
- Java文件上传组件 common-fileUpload 使用
- Java使用commons-fileupload进行文件上传
- 使用FileUpload上传文件
- 使用FileUpload上传文件
- java fileupload上传文件
- java文件上传fileupload
- java文件上传fileupload
- java文件上传fileupload
- java文件上传fileupload
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 8.7.2 格式化整数
- presto查询处理流程(queryexecution提交)
- Linux环境下面安装Tomcat
- excel打开多出现一个sheet1窗口
- 【Atcoder Regular Contest 085F】 NRE
- java使用fileupload接收上传文件
- 【网络】绘制基本网络图
- Eclipse与GitHub的整合(二)——Eclipse clone远程项目到本地
- Netty搭建服务器
- phpqrcode生成二维码
- 基于redis锁的实现
- HDU 1874 畅通工程续
- Big-O Algorithm Complexity Cheat Sheet [译]
- 几种任务调度的 Java 实现方法与比较