`
frederick_hai
  • 浏览: 15539 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

文件上传回写必须设置Content-type

阅读更多

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

 

@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浏览器之外其他浏览器上传回写全部报错。调试了大半天,真是浪费时间,特此分享一下也算是告诫自己。

分享到:
评论

相关推荐

    通过IO流把文件传到前端并下载.zip

    "Content-Type"指定文件类型,"Content-Disposition"告诉浏览器如何处理数据,通常设置为"attachment",附带一个"filename"参数,指示文件名,这样浏览器会自动触发下载对话框。 4. **Spring框架**: 提到的`...

    CGI跟我学 web编程

    真实的情况是从这行开始的下一行,这个脚本做两件事:它输出行 Content-type: text/plain,接着开始一个空行;第二,它调用 UNIX 系统时间 date 程序,这样输出日期和时间。 脚本执行后输出应该这样: ``` Content-...

    jqGrid手册教程一本通

    jqGrid是一款基于jQuery开发的插件,它主要用于在网页上实现数据的动态展示和操作。它能够将服务器端的数据以表格的形式展现给用户,并提供了丰富的功能,如数据的增删改查、排序、搜索等。 首先,我们需要理解...

    net webform开发中常遇到的问题1

    - 方法一:通过在页面上添加一个隐藏的服务器控件(`&lt;input type="hidden" runat="server"&gt;`),然后在前后端之间传递值。 - 方法二:在HTML中直接引用后台变量,如`'&lt;%=n%&gt;'`或`'+ &lt;%=n%&gt; +'`,其中`n`是后台变量...

    HtmlMate标签的常见的功能.pdf

    * Content-Type(显示字符集的):用于设定网页的字符集类型。 meta标签可以提供给搜索引擎机器人更多关于网页的信息,从而提高网页在搜索引擎中的排名和曝光率。同时,meta标签也可以用于设定网页的各种参数,如...

    网页头部标签meta详解

    * Content-Type(显示字符集的设定):设定网页的字符集。 Meta标签的使用可以帮助搜索引擎更好地理解网页的内容和结构,从而提高网页的搜索排名和用户体验。同时,Meta标签也可以帮助浏览器正确地显示网页内容,...

    在线图片预览功能的实现

    在处理完请求后,Servlet会将结果返回给客户端,通常是通过HTTP响应的`Content-Type`头指定为`image/*`,让浏览器知道这是个图片资源。 在服务器端配置方面,`web.xml`文件是Java Web应用的部署描述符,用于定义...

    WEB浏览器工作原理

    4. 关闭连接:当应答结束后,Web 浏览器与 Web 服务器必须断开,以保证其他 Web 浏览器 能够与 Web 服务器建立连接。 在实现 GET 请求的 Web 服务器程序中,可以通过创建 TcpListener 类对象,监听端口 8080;等待...

    layUI使用layer.open,在content打开数据表格,获取值并返回的方法

    `layer.open`参数包括`type:2`表示打开一个iframe页面,`area`定义了窗口的尺寸,`title`是窗口标题,`content`是加载的页面路径,`maxmin: true`允许最大化和最小化,`btn`定义了底部按钮,`yes`和`btn2`分别对应...

    Web服务器的java实现

     ③ content_type:类型  这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html指示传送的数据是HTML文档。  ④ content_length:长度值  它指示HTTP体信息的长度(字节)。  (4) ...

    基于vue 添加axios组件,解决post传参数为null的问题

    总结来说,要在Vue项目中使用axios并解决POST请求参数为null的问题,关键在于正确设置`Content-Type`,以及根据后端接口要求选择合适的参数传递方式。同时,确保在发送请求时正确处理错误,以帮助调试和优化应用程序...

    xiaocao.rar_web服务器

    5. **生成响应**:根据资源的处理结果,服务器构建HTTP响应,包括状态码(200表示成功,404表示未找到等)、响应头(如Content-Type指明资源类型)和响应体(如HTML内容)。 6. **发送响应**:最后,服务器通过...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅...

    Jquery通过ajax请求NodeJS返回json数据实例

    "Content-Type": 'text/plain', 'charset': 'utf-8', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'PUT, POST, GET, DELETE, OPTIONS' }); // 解决跨域问题 // 读取data.txt文件...

    Unity打开手机相册完整工程实例

    2. 在C#脚本中,创建一个`UIImagePickerController`实例,设置其代理为桥接类,并设置其源类型为`UIImagePickerControllerSourceType.PhotoLibrary`来打开相册。 3. 使用`UnityView`的`PresentViewController`方法...

    unityplugins:Unity项目的android插件

    需要设置合适的HTTP请求头,如Content-Type为“image/jpeg”或“image/png”。 3. 错误处理:确保在上传过程中处理可能的网络错误,如超时、无网络等,提供友好的用户反馈。 总结,Unity项目的Android插件开发是...

    php模拟post上传图片实现代码

    现在我们将关注第三步,即如何将处理后的图片上传回服务器。 代码中提到的`postData()`函数用于发送POST请求。这个函数接收两个参数,一个是远程服务器的URL,另一个是要POST的数据。在`gptest.php`中,这段代码...

Global site tag (gtag.js) - Google Analytics