欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文件上传回写必须设置Content-type 博客分类: web js response.setContentTypecontenttype文件上传dojo 

程序员文章站 2024-03-16 17:06:22
...

今天解决一个文件上传的问题,代码如下:

 

@RequestMapping(value = "/upload", method = RequestMethod.POST)
    public String doUpload(Role role, @RequestParam("file") MultipartFile file, HttpServletResponse resp) {
        if (!file.isEmpty()) {
            try {
                InputStream in = file.getInputStream();
                int temp;
                while ((temp = in.read()) != -1) {
                    System.out.write(temp);
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
	resp.setContentType("text/html; charset=UTF-8");
        JSONObject json = new JSONObject();
        json.put("result", "upload ok");
        try {
            resp.getWriter().println("<textarea>" + json.toString() + "</textarea>");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }

 注意上面红色的部分“resp.setContentType("text/html; charset=UTF-8");”,之前一直没有注意没有设置返回内容的格式,导致除了IE浏览器之外其他浏览器上传回写全部报错。调试了大半天,真是浪费时间,特此分享一下也算是告诫自己。