`
yanwt
  • 浏览: 98804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xheditor-文件上传-Spring3 MVC-支持html5-application/octet-stream

阅读更多
xheditor1.1.5 版本文件上传使用html5-application/octet-stream
Spring3 MVC之前写的上传程序无法支持
@RequestMapping(value = "/upload")
    public String uploadFile(Model m, MultipartHttpServletRequest request) throws IOException {
        String path = UploadController.class.getResource("/").getPath().split("WEB-INF")[0] + "upload/";
        Iterator<String> iterator = request.getFileNames();
        while (iterator.hasNext()) {
            String next = iterator.next();
            List<MultipartFile> files = request.getFiles(next);
            for (int i = 0; i < files.size(); i++) {
                if (!files.get(i).isEmpty()) {
                    byte[] bytes = files.get(i).getBytes();
                    String uploadFile = UploadUtils.generateFilename(path, UploadUtils.getExtension(files.get(i).getOriginalFilename(), "jpg"));
                    File file = new File(uploadFile);
                    FileOutputStream fos = new FileOutputStream(file);
                    fos.write(bytes);
                    fos.close();
                    m.addAttribute("url", uploadFile.replace(path, "/upload"));
                    m.addAttribute("local", uploadFile);
                }
            }
        }
        return "upload";
    }


需要改造如下:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
    public String upload(Model m, HttpServletRequest request) throws IOException {
        String path = UploadController.class.getResource("/").getPath().split("WEB-INF")[0] + "upload/";
        if ("application/octet-stream".equals(request.getContentType())) { //HTML 5 上传
            try {
                String dispoString = request.getHeader("Content-Disposition");
                int iFindStart = dispoString.indexOf("filename =\"") + 10;
                int iFindEnd = dispoString.indexOf("\"", iFindStart);
                String sFileName = dispoString.substring(iFindStart, iFindEnd);
                int i = request.getContentLength();
                byte buffer[] = new byte[i];
                int j = 0;
                while (j < i) { //获取表单的上传文件
                    int k = request.getInputStream().read(buffer, j, i - j);
                    j += k;
                }
                if (buffer.length >= 0) { //文件是否为空
                    String uploadFile = UploadUtils.generateFilename(path, UploadUtils.getExtension(sFileName, "jpg"));
                    File file = new File(uploadFile);
                    OutputStream out = new BufferedOutputStream(new FileOutputStream(file, true));
                    out.write(buffer);
                    out.close();
                    m.addAttribute("url", uploadFile.replace(path, "/upload"));
                    m.addAttribute("local", uploadFile);
                }
            } catch (Exception ex) {
                m.addAttribute("err", ex.getMessage());
            }
        }
        return "upload";
    }
分享到:
评论
3 楼 hesai_vip 2013-05-30  
请问这个返回upload页面之后怎么做呢?我的总是报错啊
返回的错误内容为:



url : /upload/4.jpg

local: /D:/ourchem/hs-project/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps/ourchem-website/upload/4.jpg



不知道如何处理,请教!!!
2 楼 鐜嬫旦 2012-10-17  
UploadUtils这个方法也贴下啊,,,
1 楼 wendal 2012-06-02  
Good!

相关推荐

    xheditor-1.1.9文件

    XHEditor-1.1.9是一个开源的JavaScript组件,它基于HTML5技术,支持多种浏览器环境,包括IE6+、Firefox、Chrome、Safari以及Opera等主流浏览器。这个版本的编辑器优化了多项功能,提升了整体性能,同时保持了良好的...

    xheditor-0.9.8-zh-cn

    xheditor-0.9.8-zh-cn.zip 编辑器xheditor-0.9.8-zh-cn.zip 编辑器xheditor-0.9.8-zh-cn.zip 编辑器xheditor-0.9.8-zh-cn.zip 编辑器xheditor-0.9.8-zh-cn.zip 编辑器

    最土团购商业wap版测试可以

    inflating: zuitu/static/js/xheditor/xheditor_emot/msn/3.gif inflating: zuitu/static/js/xheditor/xheditor_emot/msn/30.gif inflating: zuitu/static/js/xheditor/xheditor_emot/msn/31.gif inflating: ...

    xheditor-1.2.2.zip

    5. **安全性**:XHEditor对用户输入的数据进行安全过滤,有效防止XSS攻击,保障了网站的安全性。 三、XHEditor 1.2.2的安装与使用 1. **下载与引入**:首先,你需要从官方或者可靠的源下载xheditor-1.2.2.zip文件...

    xheditor-1.1.13在asp.net中使用

    xheditor在asp.net中使用时,如果textbox控件在UpdatePanel使用...在本文件在包含完整的xheditor-1.1.13及其demos。在demos文件夹里的Default2.aspx及Default2.aspx.cs是解决textbox控件在UpdatePanel的正常使用方法。

    xheditor-1.1.1编辑器下载

    xheditor编辑器.................xheditor编辑器.................xheditor编辑器.................xheditor编辑器.................xheditor编辑器.................

    最新版本xheditor-v1.2.2

    1. **下载与引入**: 下载XHEditor-v1.2.2压缩包,将`xheditor-1.2.2`文件夹内的JavaScript和CSS文件引入到项目中。 2. **初始化编辑器**: 在HTML中创建一个`textarea`元素,并通过JavaScript调用XHEditor进行初始化...

    spring3MVC 框架demo

    在"spring3MVC框架demo"中,包含了两个关键功能的实现:文件上传下载功能和使用xheditor发布消息功能。 首先,我们来详细了解一下Spring3MVC的基础配置。在Spring3MVC项目中,配置通常包括以下几个部分: 1. **web...

    xheditor-1.1.7 编辑器插件

    xheditor-1.1.7 编辑器插件 包含xheditor所含关键文件及jquery,导入web工程即可使用

    xheditor-1.1.6

    xheditor是一款基于浏览器端的富文本编辑器,支持多种浏览器环境,包括IE6+、Firefox、Chrome、Safari和Opera等。其1.1.6版本是经过多代迭代优化后的一个稳定版本,主要特点是轻量级、易用性强且功能丰富。xheditor...

    xheditor-1.0.0-final

    5. **多语言支持**:为了满足全球用户需求,XHEditor内置了多种语言包,包括中文、英文等。 6. **可扩展性**:通过插件机制,开发者可以自定义或添加更多功能,如表情、代码高亮等。 7. **兼容性**:考虑到浏览器...

    xheditor-1.2.1(demo,js,api,doc)

    《XHEditor-1.2.1:全能编辑器的深度解析与应用指南》 XHEditor是一款在Web开发中广泛使用的开源富文本编辑器,它以其强大的功能、易用性和高度可定制性赢得了开发者们的青睐。XHEditor-1.2.1是该编辑器的一个稳定...

    xheditor-1.1.8 简易在线编辑器

    3. **多语言支持**:xheditor不仅支持中文,还提供了英文和其他多语言版本,方便不同地区的用户使用。 4. **自定义配置**:开发者可以根据项目需求,通过配置文件定制编辑器的功能和样式,实现高度个性化。 5. **...

    xhEditor文件上传的Java实现.pdf

    xhEditor文件上传的Java实现提供了一种灵活、易用的在线富文本编辑器解决方案,支持图片上传、文件上传等多种功能。开发者可以根据需要,选择合适的编辑器插件和参数设置,实现个性化的编辑器功能。

    xheditor-1.1.7

    5. **本地上传文件**:支持用户直接在编辑器中上传图片或其他文件,无需跳转页面,简化操作流程。 三、xheditor的使用 1. **引入库文件**:首先需要在HTML页面中引入xheditor的JavaScript和CSS文件,以及必要的语言...

    xheditor-1.1.14

    html5Upload:是否开启HTML5上传支持 参数值:true(允许),false(不允许),默认为true允许 说明:本功能需要浏览器支持HTML5上传 备注:1.0.0 Final新添加 upMultiple:允许一次上传多少个文件 参数值:大于0的数值,...

    xheditor-1

    【xheditor-1】是一款基于JavaScript的开源富文本编辑器,主要用于网页中的文本编辑功能。这个版本是1.1.5,据描述测试后表现出良好的可用性,开发者认为它非常实用,尤其适合那些对网页设计要求不高的项目。由于其...

    xhEditor编辑器

    将下载的压缩文件解压缩,上传其中的xheditor-zh-cn.min.js以及xheditor_emot、xheditor_plugins和xheditor_skin三个文件夹到网站相应文件夹中。 注:如果您网站中没有使用jQuery框架,也请一并上传jquery文件夹中的...

    xheditor-1.2.1.7z

    xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化HTML编辑器,基于网络访问并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。

Global site tag (gtag.js) - Google Analytics