`
xiaoliang330
  • 浏览: 112589 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts2实现文件图片上传

阅读更多
我的JSP页面代码如下:

<body>
<form name="myform" method="post" action="/s2/user/fileAction.action" enctype="multipart/form-data">
             <table align="center">
                   <tr>
                  <td colspan="2">文件上传</td>
             </tr>
             <tr>
                  <td>上传的文件:</td>
                  <td><input type="file" name="myfile"/></td>
             </tr>
             <tr>
                  <td>用户编号:</td>
                  <td><input type="text" name="userId"/></td>
             </tr>
             <tr>
                  <td>用户姓名:</td>
                  <td><input type="text" name="userName"/></td>
             </tr>
             <tr>
                 <td colspan="2"><input type="submit" value="上传"/></td>
             </tr>
             </table>
     </form>
</body>




我的Action如下:
package com.xll.util;

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

import com.opensymphony.xwork2.ActionSupport;

public class FileAction extends ActionSupport{
	public File myfile;
	public String myfileFileName;
	public String myfileContentType;
	public String userId;
	public String userName;
	
        public String execute(){
        	InputStream in = null;
        	OutputStream out = null;
        	
        	try {
				in = new FileInputStream(myfile);
				out = new FileOutputStream("d:/temp/"+myfileFileName);
					int str = -1;
				while((str=in.read()) != -1){
					out.write(str);
					//str = in.read();
				}
				
			} catch (Exception e) {
				e.printStackTrace();
			} finally{
				try {
					out.flush();
					in.close();
					out.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
        	System.out.println("userId="+userId+",userName="+userName);
        	System.out.println("myfileFileName="+myfileFileName+",myfileContentType="+myfileContentType);
        	return this.SUCCESS;
        }
}



struts.xml中的配置:
<action name="fileAction" class="com.xll.util.FileAction">
        	<result name="success">/index.jsp</result>
        </action>




其中的编码设置有:

struts.xml中的
<constant name="struts.i18n.encoding" value="gb2312"></constant>


页面编码统一为gbk  上传后的文件未出现乱码!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics