在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

commons-fileupload上传附件api使用

2017-2-9 13:04| 发布者: zhangjf| 查看: 662| 评论: 0

摘要: boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { goto..... return; } // Create a new file upload handler ServletFileUpload uploa ...

  1. boolean isMultipart = ServletFileUpload.isMultipartContent(request);
  2. if (!isMultipart) {
  3. goto.....
  4. return;
  5. }
  6. // Create a new file upload handler
  7. ServletFileUpload upload = new ServletFileUpload();
  8. // Parse the request
  9. FileItemIterator iter = upload.getItemIterator(request);
  10. while (iter.hasNext()) {
  11. FileItemStream item = iter.next();
  12. String name = item.getFieldName();
  13. InputStream stream = item.openStream();
  14. if (item.isFormField()) {
  15. System.out.println("Form field " + name + " with value "
  16. + Streams.asString(stream) + " detected.");
  17. } else {
  18. System.out.println("File field " + name + " with file name "
  19. + item.getName() + " detected.");
  20. // Process the input stream
  21. ...
  22. }
  23. }
  24. 具体上传服务器例子:
  25. boolean isMultipart = ServletFileUpload.isMultipartContent(request);
  26. if (!isMultipart) {
  27. //goto
  28. return;
  29. }
  30. DiskFileItemFactory dff = new DiskFileItemFactory();
  31. try {
  32. ServletFileUpload sfu = new ServletFileUpload(dff);
  33. sfu.setSizeMax(10000*1024);
  34. sfu.setHeaderEncoding("utf-8");
  35. FileItemIterator fii = sfu.getItemIterator(request);
  36. while (iterator.hasNext()) {
  37. fileStream = iterator.next();
  38. if (!fileStream.isFormField())
  39. break;
  40. fileStream = null;
  41. }
  42. if (fileStream == null) {
  43. return new BaseState(false, 7);
  44. }
  45. String savePath ="保存服务器路径";
  46. String originFileName = fileStream.getName();
  47. String suffix = FileType.getSuffixByFilename(originFileName);
  48. originFileName = originFileName.substring(0,
  49. originFileName.length() - suffix.length());
  50. savePath = savePath + suffix;
  51. long maxSize = ((Long) conf.get("maxSize")).longValue();
  52. if (!validType(suffix, (String[]) conf.get("allowFiles"))) {
  53. return new BaseState(false, 8);
  54. }
  55. savePath = PathFormat.parse(savePath, originFileName);
  56. String physicalPath = "路径" + savePath;
  57. InputStream is = fileStream.openStream();
  58. FileOutputStream out = new FileOutputStream(new File(physicalPath);
  59. BufferedOutputStream output = new BufferedOutputStream(out);
  60. Streams.copy(in, output, true);
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-9 20:09

Copyright 2015-2025 djqfx

返回顶部