struts2 + jquery上传文件

(1) jar包

          commons-fileupload-1.2.1.jar

          commons-io-2.0.1.jar

          commons-logging-1.1.jar

          commons-pool-1.2.jar

          freemarker-2.3.8.jar

          ognl-2.6.11.jar

          struts2-core-2.0.11.jar

          xwork-2.0.4.jar

(2) js包

          jquery[1].form.js

         jquery-1.4.2.min.js

 

(3)前台

         <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
    <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <script type="text/javascript" src="./js/jquery-1.4.2.min.js"></script>
 <script type="text/javascript" src="./js/jquery[1].form.js"></script>
 
         
        <script type="text/javascript">
  function uploadImage() { 
   $(document) 
            .ready( 
                    function() { 
                        var options = { 
                            url : "fileUpload.action?", 
                            type : "POST", 
                            dataType : "json", 
                            success : function(msg) {
                             if (msg != null)
                             {
                                 window.alert(msg.msg);
                             }
                            } 
                        }; 
                        $("#form2").ajaxSubmit(options); 
                        return false; 
                    }); 

</script> 
    </head> 
    <body> 
    <center> 
        <form id = "form2" method="post"  enctype="multipart/form-data">
            <table width="400" border="1" cellspacing="1" cellpadding="10"> 
    <input type = "hidden" name = "id" id = "id" value = "-1"/>
    <input type="hidden" name="upUserId" id = "upUserId" value="11"/>
   <tr>     
    <select name="itemType" id="itemType">
     <option value="11">aaaaa   
     </option>
       </select>
     </tr>
   <tr> 
    <td height="25"> 
     浏览图片: 
    </td> 
    <td> 
     <input id="eleImage" name="eleImage" type="file" /> 
     <div id="tipDiv"></div> 
    </td> 
   </tr> 
   <tr> 
    <td colspan="2" align="center"> 
     <input type="button" class="right-button02" 
      οnclick="uploadImage()" value="上传" /> 
    </td> 
   </tr>     
            </table> 
        </form> 
        <br> 
                     图片预览 
        <div id="showImage"></div> 
        </center> 
    </body> 
</html>

(4) 后台代码

package com.aokunsang.action;

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

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileUploadAction extends ActionSupport {

 private File eleImage;
 private String eleImageContentType;
 private String eleImageFileName;
 
 public void upload() throws Exception{
  String message = "";
  ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
  ServletActionContext.getResponse().setCharacterEncoding("utf-8");
  if(eleImageFileName.endsWith(".exe"))
  {
   message = "禁止上传该类文件!";
  }
  else if(!eleImage.exists())
  {
   message = "此文件不存在!";
  }
  else
  {
   FileInputStream fis = new FileInputStream(eleImage);
   int available = fis.available();
   byte[] bytes = new byte[available];
   while (fis.read(bytes) != -1)
   {
    available = available + fis.available();
    if (bytes.length < available)
    {
     byte[] temp = bytes;
     bytes = new byte[available];
     System.arraycopy(temp, 0, bytes, 0, temp.length);
    }
   }
   
   //========bytes 中已经有了数据
   message = "上传成功!";
  }
  ServletActionContext.getResponse().getWriter().write("{msg:\""+message+"\"}");
  ServletActionContext.getResponse().getWriter().flush();
  ServletActionContext.getResponse().getWriter().close();
 }

 public File getEleImage() {
  return eleImage;
 }

 public void setEleImage(File eleImage) {
  this.eleImage = eleImage;
 }

 public String getEleImageContentType() {
  return eleImageContentType;
 }

 public void setEleImageContentType(String eleImageContentType) {
  this.eleImageContentType = eleImageContentType;
 }

 public String getEleImageFileName() {
  return eleImageFileName;
 }

 public void setEleImageFileName(String eleImageFileName) {
  this.eleImageFileName = eleImageFileName;
 }
}

 

(5) struts配置

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>
 <package namespace="/" name="root" extends="struts-default">
  <action name="fileUpload" class="com.aokunsang.action.FileUploadAction" method="upload">
   <interceptor-ref name="fileUploadStack"></interceptor-ref>
  </action>
 </package>

</struts>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值