`
liuwei1981
  • 浏览: 769184 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:160465
社区版块
存档分类
最新评论

WebWork文件上传的问题---Content-Type not allowed

阅读更多

今天原本想完成一个webwork实现文件上传的功能,原来的实现很是复杂,另外弹出一个页面,使用apache——upload组件将要上传的图片先提交到服务器,然后这个jsp的页面返回该文件的服务器的路径,提交表单接受这个这个参数,然后提交信息。
现在看这种实现过于复杂,因为种种原因一直没有修改,现在终于提出要修改这个上传实现。
webwork的拦截器实现了文件的上传,这样的例子也很多,很快按照一个例子,在一个测试web程序中部署,顺利通过。
但在应用到现在的网站时候,却出现了一个这样的问题,上传文件被拦截中断执行,报错的异常信息是Content-Type not allowed,无论上传什么类型文件都是这个异常。
下面是全部的代码,这已经是最简单的实现了,但这个测试例子在单独的环境中运行正常,一旦部署到现在的web应用程序中就无法正常运行,查找了很多资料,也专门加了一段content allowed types配置,还是无法正常运行。

两个环境唯一的区别是一个是webwork的2.2.4的版本,一个是webwork2.2的测试版本,由于程序已经很到,很难全部迁移到webwork2.2.4版本上,请教一下,这个bug是不是webwork测试版本的?如果是,除了升级webwork版本外,还有什么办法?如果不是,是不是我的程序写法的原因,在webwork的测试版本是不是有特殊的一些配置和写法?请各位大侠不吝赐教!

 

页面代码:

 

<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib prefix="ww" uri="webwork"%>

<html>
 <head>
   <title>文件上传</title>
 </head>
 <body>
  <form method="POST" name="form1" ENCTYPE="multipart/form-data">
  <table width="95%" border="0" cellpadding="5" cellspacing="0">
    <tr>
       <td>产品图片:</td>
       <td align="left" class="xxbg" colspan="2">
          <input type="file" name="pic" size="20">
      </td>
    </tr>
  </table>
  </form>
 </body>
</html>
<SCRIPT LANGUAGE="JavaScript">
function sub(){	
  form1.action = "uploadtest.action";
 form1.submit();}
</SCRIPT>

 

配置文件:

 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.1.dtd">

<xwork>
	<include file="webwork-default.xml" />
	<package name="uploadtest" extends="webwork-default">
		<action name="uploadtest"
			class="com.shouzhong.test.UplaodAction" method="uploadtest">
			<result name="success" type="dispatcher">
				<param name="location">
					/result.jsp
				</param>
			</result>
			<interceptor-ref   name= "fileUpload "/> 
            <interceptor-ref   name= "basicStack "/> 
		</action>			
	</package>

</xwork>

 

 

类文件:

 

package com.shouzhong.test;

import java.util.*;

import org.apache.commons.logging.*;

import com.opensymphony.xwork.*;
import com.core.web.Action;
import com.shouzhong.map.*;
import javax.servlet.http.HttpServletRequest;
import com.opensymphony.webwork.ServletActionContext;
import javax.servlet.http.HttpSession;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * <p>
 * Title:
 * </p>
 * <p>
 * Description:
 * </p>
 * <p>
 * Copyright: Copyright (c) 2007
 * </p>
 * <p>
 * Company:
 * </p>
 *
 * @author liuwei
 * @version 1.0
 */
public class UplaodAction
        extends Action {

    public static Log log = LogFactory.getLog(UplaodAction.class);
    private File pic;
    private String picContentType;
    private String picFileName;

    public String uploadtest() throws Exception {
        try {
            System.out.println("in....................");

            upload(pic, picFileName);
        } catch (Exception e) {

        }
        return SUCCESS;
    }

    public static String upload(File file, String filename) {
        String ret = null;
        try {
            if (file != null) {
                ret = "c:/" + filename;
                FileOutputStream outputStream = new FileOutputStream(ret);
                FileInputStream fileIn = new FileInputStream(file);
                byte[] buffer = new byte[1024];
                int len;
                while ((len = fileIn.read(buffer)) > 0) {
                    outputStream.write(buffer, 0, len);
                }
                fileIn.close();
                outputStream.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            ret = null;
        }
        return ret;
    }

    public File getPic() {
        return pic;
    }

    public void setPic(File pic) {
        this.pic = pic;
    }

    public String getPicContentType() {
        return picContentType;
    }

    public void setPicContentType(String picContentType) {
        this.picContentType = picContentType;
    }

    public String getPicFileName() {
        return picFileName;
    }

    public void setPicFileName(String picFileName) {
        this.picFileName = picFileName;
    }
}

 

 

 

0
1
分享到:
评论
2 楼 liuwei1981 2008-06-09  
我的问题是用了webwork的测试版本,使用了正式的版本,就没问题了
1 楼 limaoyuan 2008-06-07  
我也遇到了楼主的问题

相关推荐

    WebWork docs 2 -- webWork 详细的说明文档

    WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时可能遇到的所有问题的解答。 这套文档涵盖了以下几个主要的知识点: 1. **WebWork基础**:WebWork的核心概念,如Action、...

    WebWork2开发指南-程序设计

    WebWork2是一款基于Java的轻量级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,使得构建动态Web应用程序变得更加高效和便捷。在"WebWork2开发指南-程序设计"中,我们将深入探讨WebWork...

    webwork文件上传

    在本教程中,我们将探讨如何利用WebWork实现文件上传功能,特别是针对Excel文件的处理。 首先,理解WebWork的MVC模式至关重要。在WebWork框架中,控制器负责接收用户请求,调用业务逻辑,并将结果传递给视图进行...

    WebWork docs -- webWork 详细的说明文档

    webWork 详细的说明文档, 由于我的上传大小有限, 这个好东西我只能是分两次上传了, 下载的人可能要辛苦一些了, 不过这些都是值得的, 将&lt;&lt;WebWork docs 2 -- webWork 详细的说明文档&gt;&gt; 也一同下载下来, 下载后两个...

    WebWork 文件上传

    在这个“WebWork 文件上传 多个文件上传 范例”中,我们将深入探讨如何使用WebWork实现多文件上传的功能。 首先,了解文件上传的基本原理是必要的。在HTTP协议中,文件上传通常通过POST请求实现,其中包含了...

    webwork中上传文件

    在本例中,我们关注的是使用WebWork框架在Java环境中实现文件上传。WebWork是一个轻量级的MVC(Model-View-Controller)框架,它提供了处理HTTP请求和响应的强大工具,包括文件上传。 首先,我们需要了解WebWork的...

    webwork 文件上传下载

    本篇文章将围绕"webwork 文件上传下载"这个主题,深入探讨WebWork框架下如何实现文件的上传和下载。 首先,让我们了解文件上传的基本概念。在Web应用中,文件上传通常涉及HTML表单、HTTP协议和服务器端处理。在...

    WebWork-2.1.7 中文开发文档-小白

    WebWork-2.1.7 中文开发文档-小白

    webwork 上传文件与下载文件 使用笔记

    ### WebWork 上传文件知识点详解 #### 一、WebWork框架简介 WebWork是一个基于Java的开源Web应用程序框架,它支持MVC(Model-View-Controller)架构模式,能够简化Web应用开发流程。WebWork提供了丰富的特性,如...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    而"webwork"这个文件可能是一个解压后的目录结构,包含了WebWork1.4的源码、配置文件、示例应用等内容。通过深入研究这些源代码,开发者可以更深入地了解WebWork的工作方式,并学习如何将其应用于实际项目中。对于想...

    webwork-reference-2.2.2.pdf

    从给定的文件信息“webwork-reference-2.2.2.pdf”中,我们可以提炼出一系列与WebWork框架相关的IT知识点。以下是对这些知识点的详细解释: ### WebWork框架概览 WebWork是一个用于Java Web应用程序开发的轻量级...

    webwork 多文件上传

    WebWork是一个基于Java的轻量级MVC框架,它提供了处理多文件上传的能力。本篇文章将深入探讨如何在WebWork框架下实现多文件上传,并结合实际案例进行解析。 首先,了解WebWork框架的基本原理是必要的。WebWork通过...

    appfuse-light-webwork-spring-jdbc-1.8.2.zip_Java 8_appfuse_webwo

    Stream API为处理集合提供了新的方式,而日期和时间API的改进则解决了原来日期处理中的复杂问题。 **AppFuse** AppFuse是一个模块化的框架,它整合了多个流行的技术,如Spring、Hibernate、Struts和WebWork等。在这...

    (错误问题解决)手动|自动装配Spring与Webwork配置 修改spring-xwork-integration.jar方法实现

    NULL 博文链接:https://panshunchang.iteye.com/blog/675464

    webwork JAR xalan-j_2_7_1-bin-2jars

    然而,这个问题涉及到的是在使用WebWork时遇到的一个特定问题,即TOMCAT与JDK之间的冲突。这个问题通常出现在旧版本的Java应用服务器和Java开发工具之间,由于依赖库的不同或版本不兼容而引发。 `xalan-j_2_7_1-bin...

    webwork的上传和下载的Demo

    4. **文件下载**:下载部分涉及到创建一个HTTP响应,其中包含文件内容以及必要的HTTP头,如Content-Type(定义文件类型)和Content-Disposition(告诉浏览器如何处理文件,如建议保存为附件)。WebWork提供了一些...

    webwork-tags-API

    WebWork-Tags API 是一个专为WebWork框架设计的标签库,它提供了丰富的标签来简化JSP页面中的Java代码,从而提升开发效率和代码可读性。WebWork是一个基于Action的MVC(模型-视图-控制器)架构的Java Web应用框架,...

    webwork-spring-hibernate.rar_spring_webwork

    文件列表中提到的"webwork spring hibernate.doc"可能是整合过程中的一些文档资料,可能包含了详细的配置步骤、示例代码或者常见问题解答。阅读这份文档将有助于理解整个集成过程。 总之,这个压缩包提供的资源是...

    webwork-2.2.5源码包下载.txt

    ### WebWork-2.2.5源码包下载与解析 #### 一、WebWork框架简介 WebWork是一个开源的Java Web应用开发框架,它基于Java Servlet API,并且支持多种编程模型,包括MVC(Model-View-Controller)模式。WebWork框架的...

    webwork上传下载

    此外,"webwork上传文件.txt"可能是一个文本文件,其中包含了WebWork文件上传的源代码示例。通常,这样的文件会包含Action类的代码,展示如何处理上传的文件,包括获取`Part`对象,验证文件,以及将文件保存到服务器...

Global site tag (gtag.js) - Google Analytics