开发者社区> 问答> 正文

jsp中使用jquery的ajaxfileupload插件怎么实现异步上传

由于对jquery不了解,想请教各位在jsp中的struts2框架下 怎么使用jquery的插件ajaxfileupload 实现图片的异步上传,求个简单的实例源码。 jsp中的JS代码怎么写?

展开
收起
a123456678 2016-07-11 16:13:47 2463 0
1 条回答
写回答
取消 提交回答
  • 页面代码:
    
    <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="提交" onclick="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;
        }
    }
    2019-07-17 19:54:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
23-Vue.js在前端...1506518547.pdf 立即下载
《零基础HTML入门教程》 立即下载
Vue.js在前端服务化上的实践与探索 立即下载