博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好用的java进度条上传文件
阅读量:5743 次
发布时间:2019-06-18

本文共 3467 字,大约阅读时间需要 11 分钟。

hot3.png

需要组件jquery.uploadify.v2.1.4.js,上传的核心文件,支持上传各种文件

<link rel="stylesheet" type="text/css" href="common/css/uploadify.css"/>

<script type="text/javascript"  src="common/js/jquery-1.6.js"></script>

<script type="text/javascript"  src="common/js/swfobject.js"></script>

<script type="text/javascript"  src="common/js/jquery.uploadify.v2.1.4.js"></script>

<script type="text/javascript">

    jQuery.noConflict();
    var $Upl = jQuery;
    $Upl(document).ready(function() {
        $Upl("#uploadify").uploadify({
            'uploader'       : 'common/images/uploadify.swf',
            'script'         : '/CYJS/servlet/UploadFileServlet', //提交后台上传servlet或者action
            'cancelImg'      : 'common/images/cancel.png',
            'folder'         : 'upload',
            'queueID'        : 'custom-queue',

          //'fileDesc' : '支持格式:doc、pdf、txt', //支持的格式

          //'fileExt' : '*.doc;*.pdf;*.txt', //不支持的格式
            'auto'           : true,
            'multi'          : false,
            'removeCompleted': false,
            'sizeLimit'      : 10485799,
            'simUploadLimit' : 1,
            'buttonText'     : '添加',
            'onCancel'   : function(event,queueId,fileObj,data) {//取消单个事件
            $Upl("#fileSize").val(data.allBytesTotal);
            },
            'onSelectOnce'   : function(event,data) {//选择文件事件
            $Upl("#fileSize").val(data.allBytesTotal);
            },
          'onComplete'  : function(event,queueId,fileObj,response,data) {//完成一次上传事件
            var filePN = response.split(";");//取回后台传来的值
            if(filePN[4]!=""){
             $Upl("#uploadify" +queueId).find(".hcicsContent").text(filePN[4]);
           }
        addcontractelectronfile('#uploadify'+queueId,filePN[0],filePN[1],filePN[2],filePN[3],filePN[4]);
         }, 
      'onAllComplete'  : function(event,data) {//完成所有文件上传事件
           $Upl("#fileSize").val("0");//所有上传完成重置剩余文件大小
      }
      });
    });
</script>
 <form id="addressForm" name="addressForm" method="post" action="" >
   <table class="stable tp0" cellSpacing="0" cellPadding="0"  border="0" >
     <tr>
        
         <td width="15%" align="left" colspan="4" style="padding-left:158px" >
             <input type="hidden" id="fileSize" value="0"/>
            <div id="custom-queue"></div>
             附件:<input id="uploadify" type="file" name="Filedata"  />
           
         </td> 

    </tr>

 </table>

  </form>

java后台文件

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {
try {
String temp=request.getParameter("folder");
//System.out.println("temp==="+temp);
//上传文件的临时目录
String tempDir=request.getSession().getServletContext().getRealPath("uploads");
File tFile=new File(tempDir);
if(!tFile.exists())
tFile.mkdir();
//创建缓冲区
DiskFileItemFactory factory=new DiskFileItemFactory();
   //设置缓冲区大小 1*1024*1024 设置1Mb
factory.setSizeThreshold(1*1024*1024);
//设置缓冲临时目录
factory.setRepository(new File(tempDir));
       
ServletFileUpload upload=new ServletFileUpload(factory); 
//设置编码
upload.setHeaderEncoding("UTF-8"); 
response.setContentType("text/html;charset=utf-8");
//设置文件最大值,这里设置5Mb,5*1024*1024;
upload.setSizeMax(5*1024*1024);
FileItemIterator fileItem=upload.getItemIterator(request); //得到所有的文件
while(fileItem.hasNext()){
FileItemStream fi= fileItem.next(); //获得文件流
if(!fi.isFormField()&&fi.getName().length()>0){ //过滤非文件域
String fileName=fi.getName(); //获取文件名称
String fName=tempDir+"\\"+fileName; //文件最终存放目录 
File file=new File(fName);
FileOutputStream out=new FileOutputStream(file);
out.write(fi.toString().getBytes());
out.flush();
out.close();
}
}
Random r = new Random(10);
response.getWriter().write(""+r.nextInt());
} catch (Exception e) {
    System.out.println(e.getMessage());
}
 
  
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request,response); //默认调用POST
}

转载于:https://my.oschina.net/u/238082/blog/123833

你可能感兴趣的文章
维辰超市:借助云商城成功转型新零售
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
【算法】CRF
查看>>
windows 8 微软拼音输入法
查看>>
Windows UI风格的设计(7)
查看>>
SQL中使用WITH AS提高性能 使用公用表表达式(CTE)简化嵌套SQL
查看>>
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
LR录制脚本时IE打不开的原因
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
最长递增子序列 动态规划
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
中文词频统计
查看>>
POJ 2236 Wireless Network (并查集)
查看>>
python分类
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
程序是如何执行的(一)a=a+1
查看>>