一個簡單的jQuery插件ajaxfileupload實現ajax上傳文件例子

頁面代碼:

<html>
    <!-- 引入相關的js文件,相對路徑  -->
    <script type="text/javascript" src="js/jquery.js"></script>
      <script type="text/javascript" src="js/ajaxfileupload.js"></script>

    <!-- 執行上傳文件操作的函數 -->
      <script type="text/javascript">
          function ajaxFileUpload(){
               $.ajaxFileUpload(
                   {
                url:'update.do?method=uploader',            //需要鏈接到服務器地址
                secureuri:false,
                fileElementId:'houseMaps',                        //文件選擇框的id屬性
                dataType: 'xml',                                     //服務器返回的格式,可以是json
                success: function (data, status)            //相當於java中try語句塊的用法
                {      
                    $('#result').html('添加成功');
                },
                error: function (data, status, e)            //相當於java中catch語句塊的用法
                {
                    $('#result').html('添加失敗');
                }
            }
                   
               );
              
          }
      </script>
  </head>
  
  <body>
      <form method="post" action="update.do?method=uploader" enctype="multipart/form-data">  
        <input type="file" id="houseMaps" name="houseMaps"/> 
        <input type="button" value="提交" οnclick="ajaxFileUpload()"/>
    </form> 
    <div id="result"></div>
    
  </body>
</html>

服務器代碼:

public class UpdateAction extends DispatchAction {

    public ActionForward uploader(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        UpFormForm upFormForm = (UpFormForm) form;
        FormFile ff = upFormForm.getHouseMaps();
        try {
            InputStream is = ff.getInputStream();
            File file = new File("D:/" + ff.getFileName());            //指定文件存儲的路徑和文件名
            OutputStream os = new FileOutputStream(file);
            
            byte[] b = new byte[1024];
            int len = 0;
            while((len = is.read(b)) != -1){
                os.write(b, 0, len);
            }
            os.close();
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
            
        }
        
        return null;
    }
}

發佈了38 篇原創文章 · 獲贊 11 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章