画楼西畔 2015-08-06 02:10 采纳率: 0%
浏览 3539
已采纳

用Springmvc框架 easyUI做界面如何才能将文件上传至服务器

如何才能将一个文件上传至服务器呢 ,不是一个图片 而是一个文件,而且 框架是SpringMvc, easyUI做的界面,求大神啊 ,真的很捉急啊啊啊

  • 写回答

4条回答 默认 最新

  • JPF1024 2015-08-06 02:23
    关注

    public String uploadFile(HttpServletRequest request,
    HttpServletResponse response,Model model,RedirectAttributes attr) throws IOException, ServletException {

        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
                request.getSession().getServletContext());
        String fileName = "";
        String stroreName = "";
        if (multipartResolver.isMultipart(request)) {
            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
    
            Iterator<String> iter = multiRequest.getFileNames();
            while (iter.hasNext()) {
    
                // 由CommonsMultipartFile继承而来,拥有上面的方法.
                MultipartFile file = multiRequest.getFile(iter.next());
                if(file.getSize()>40*1024*1024){
                    return "overMaxSize";
                }
                if (file != null) {
                    fileName = file.getOriginalFilename();
                    stroreName = System.currentTimeMillis() + ""
                            + fileName.substring(fileName.lastIndexOf("."));
                    File savePathFile = new File(BASE_PATH
                            + getPathname("yyyyMM", new Date()));
                    if (!savePathFile.exists()) {
                        savePathFile.mkdirs();
                    }
                    String path = savePathFile + "/" + stroreName;
                    File localFile = new File(path);
                    try {
                        file.transferTo(localFile);
                        /*
                        接收到的文件转移到给定的目标文件。
       这可以移动文件系统中的文件,复制文件系统中的文件或内存内容保存到目标文件。如果目标文件已经存在,它将被删除。
       如果文件系统中的文件被移动,不能再次调用该操作。因此,调用这个方法只有一次能够处理任何存储机制。
    
                        */
                    } catch (IllegalStateException e) {
                        e.printStackTrace();
                        throw new ServiceException(e);
                    } catch (IOException e) {
                        e.printStackTrace();
                        throw new ServiceException(e);
                    }
                }
            }
        }
    

    }

    上面是后台方法,会自动保存到一个地方,具体你自己指定,然后也可以参考下面的,对于前台则直接是一个

    另外的上传方法参考:

    http://blog.csdn.net/niuch1029291561/article/details/17377903

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)