imageUp.jsp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3. <%@ page import="java.util.Properties" %>
  4. <%@ page import="java.util.List" %>
  5. <%@ page import="java.util.Iterator" %>
  6. <%@ page import="java.util.Arrays" %>
  7. <%@ page import="java.io.FileInputStream" %>
  8. <%@ page import="org.jeecgframework.core.servlet.Uploader" %>
  9. <%@ page import="java.io.File" %>
  10. <%@ page import="java.util.Map" %>
  11. <%
  12. request.setCharacterEncoding( Uploader.ENCODEING );
  13. response.setCharacterEncoding( Uploader.ENCODEING );
  14. String currentPath = request.getRequestURI().replace( request.getContextPath(), "" );
  15. File currentFile = new File( currentPath );
  16. currentPath = currentFile.getParent() + File.separator;
  17. //加载配置文件
  18. String propertiesPath = request.getSession().getServletContext().getRealPath( currentPath + "config.properties" );
  19. Properties properties = new Properties();
  20. try {
  21. properties.load( new FileInputStream( propertiesPath ) );
  22. } catch ( Exception e ) {
  23. //加载失败的处理
  24. e.printStackTrace();
  25. }
  26. List<String> savePath = Arrays.asList( properties.getProperty( "savePath" ).split( "," ) );
  27. //获取存储目录结构
  28. if ( request.getParameter( "fetch" ) != null ) {
  29. response.setHeader( "Content-Type", "text/javascript" );
  30. //构造json数据
  31. Iterator<String> iterator = savePath.iterator();
  32. String dirs = "[";
  33. while ( iterator.hasNext() ) {
  34. dirs += "'" + iterator.next() +"'";
  35. if ( iterator.hasNext() ) {
  36. dirs += ",";
  37. }
  38. }
  39. dirs += "]";
  40. response.getWriter().print( "updateSavePath( "+ dirs +" );" );
  41. return;
  42. }
  43. Uploader up = new Uploader(request);
  44. // 获取前端提交的path路径
  45. String dir = request.getParameter( "dir" );
  46. //普通请求中拿不到参数, 则从上传表单中拿
  47. if ( dir == null ) {
  48. dir = up.getParameter("dir");
  49. }
  50. if ( dir == null || "".equals( dir ) ) {
  51. //赋予默认值
  52. dir = savePath.get( 0 );
  53. //安全验证
  54. } else if ( !savePath.contains( dir ) ) {
  55. response.getWriter().print( "{'state':'\\u975e\\u6cd5\\u4e0a\\u4f20\\u76ee\\u5f55'}" );
  56. return;
  57. }
  58. up.setSavePath( dir );
  59. String[] fileType = {".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp"};
  60. up.setAllowFiles(fileType);
  61. up.setMaxSize(500 * 1024); //单位KB
  62. up.upload();
  63. response.getWriter().print("{'original':'"+up.getOriginalName()+"','url':'"+up.getUrl()+"','title':'"+up.getTitle()+"','state':'"+up.getState()+"'}");
  64. %>