全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

BootStrap fileinput.js文件上传组件实例代码

1.首先我们下载好fileinput插件引入插件

<span style="font-size:14px;"><link type="text/css" rel="stylesheet" href="fileinput/css/fileinput.css" rel="external nofollow" /> 
<script type="text/javascript" src="fileinput/js/fileinput.js"></script> 
<script type="text/javascript" src="fileinput/js/fileinput_locale_zh.js"></script></span> 

2.html设置:

<span style="font-size:14px;"><form enctype="multipart/form-data"> 
  <input id="file-file" class="file" type="file" multiple> 
</form></span> 

3.初始化设置:

function initFileInput(ctrlName, uploadUrl) { 
      var control = $('#' + ctrlName); 
      control.fileinput({ 
        resizeImage : true, 
        maxImageWidth : 200, 
        maxImageHeight : 200, 
        resizePreference : 'width', 
        language : 'zh', //设置语言 
        uploadUrl : uploadUrl, 
        uploadAsync : true, 
        allowedFileExtensions : [ 'jpg', 'png', 'gif' ],//接收的文件后缀 
        showUpload : true, //是否显示上传按钮 
        showCaption : true,//是否显示标题 
        browseClass : "btn btn-primary", //按钮样式 
        previewFileIcon : "<i class='glyphicon glyphicon-king'></i>", 
        maxFileCount : 3, 
        msgFilesTooMany : "选择图片超过了最大数量", 
        maxFileSize : 2000, 
      }); 
    }; 
   //初始化控件initFileInput(id,uploadurl)控件id,与上传路径 
    initFileInput("file-file", "/tqyh/pushMessAction"); 

注:要想使用控件自带的upload按钮,以及上传进度,必须用form包裹
(当然也可以在初始化的时加入 enctype: 'multipart/form-data',是一样的)但不用定义action

<strong><form enctype="multipart/form-data"> 
  <input id="file-file" class="file" type="file" multiple> 
</form></strong> 

最后通过后台进行正常的上传就好了。


有些朋友说我没写明白,好吧我把后台代码贴出:

servlet:

@Override 
ublic void doPost(HttpServletRequest request,  
       HttpServletResponse response) 
       throws ServletException, java.io.IOException { 
    String path = request.getSession().getServletContext().getRealPath("/headUpload"); 
  UploadMediaService upload=new UploadMediaService(); 
  String headimage=upload.getMeiaName(path, request); 
  request.getSession().setAttribute("headname",headimage ); 
  System.out.println("文件上传成功"); 
 } 
 @Override 
ublic void doGet(HttpServletRequest request,  
           HttpServletResponse response) 
    throws ServletException, java.io.IOException { 
  doPost( request, response); 
 } 

其实后台不用可以接收,我们通过解析request就能获取一个或者多个上传的文件。上面代码主要核心代码:

<span style="font-size:14px;">String path = request.getSession().getServletContext().getRealPath("/headUpload"); 
      UploadMediaService upload=new UploadMediaService(); 
      String headimage=upload.getMeiaName(path, request);</span> 
<span style="font-size:14px;">UploadMediaService : 
/** 
   * 上传媒体文件,存储在服务端 
   * 
   * @param path 获取文件需要上传到的路径  
   * @param request 客户端请求 
   * @return 
   */ 
  public static String uploadLocalMedia(String path,HttpServletRequest request){ 
    String filename ="";  
     //获得磁盘文件条目工厂  
    DiskFileItemFactory factory = new DiskFileItemFactory();  
    //如果没以下两行设置的话,上传大的 文件 会占用 很多内存,  
    //设置暂时存放的 存储室 , 这个存储室,可以和 最终存储文件 的目录不同  
    /** 
     * 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上,  
     * 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tem 格式的  
     * 然后再将其真正写到 对应目录的硬盘上 
     */  
    factory.setRepository(new File(path));  
    //设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室  
    factory.setSizeThreshold(1024*1024) ;  
    //高水平的API文件上传处理  
    ServletFileUpload upload = new ServletFileUpload(factory);  
    try {  
      //可以上传多个文件  
      List<FileItem> list = upload.parseRequest(request);  
      for(FileItem item : list) {  
        //如果获取的 表单信息是普通的 文本 信息  
        if(item.isFormField()) {            
          //获取用户具体输入的字符串 ,名字起得挺好,因为表单提交过来的是 字符串类型的  
          String value = item.getString() ;  
        } else{  
          //对传入的非 简单的字符串进行处理 ,比如说二进制的 图片,视频这些  
          /** 
           * 以下三步,主要获取 上传文件的名字 
           */  
          //获取路径名  
          String value = item.getName() ;  
          //索引到最后一个反斜杠  
          int start = value.lastIndexOf("\\");  
          //截取 上传文件的 字符串名字,加1是 去掉反斜杠,  
          filename = value.substring(start+1);  
          System.out.println("filename="+ filename); 
          //真正写到磁盘上  
          //它抛出的异常 用exception 捕捉  
          //item.write( new File(path,filename) );//第三方提供的  
          //手动写的  
          OutputStream out = new FileOutputStream(new File(path,filename));  
          InputStream in = item.getInputStream() ;  
          int length = 0 ;  
          byte [] buf = new byte[1024] ;  
          // in.read(buf) 每次读到的数据存放在  buf 数组中  
          while( (length = in.read(buf) ) != -1) {  
            //在  buf 数组中 取出数据 写到 (输出流)磁盘上  
            out.write(buf, 0, length);   
          }  
          in.close();  
          out.close();  
        }  
      }  
    } catch (FileUploadException e) {  
      log.error("文件上传异常:",e); 
    } catch (Exception e) {  
      log.error("文件处理IO异常:",e); 
    }  
    return filename ; 
  } 
</span>

以上所述是小编给大家介绍的BootStrap fileinput.js文件上传组件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# bootstrap  # fileinput  # Bootstrap Fileinput文件上传组件用法详解  # JS文件上传神器bootstrap fileinput详解  # Bootstrap fileinput文件上传预览插件使用详解  # Bootstrap中的fileinput 多图片上传及编辑功能  # Bootstrap的fileinput插件实现多文件上传的方法  # bootstrapfileinput实现文件自动上传  # 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)  # 详解bootstrap-fileinput文件上传控件的亲身实践  # Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置  # Bootstrap FileInput实现图片上传功能  # 上传  # 写到  # 文件上传  # 多个  # 上传文件  # 表单  # 小编  # 的是  # 组中  # 放在  # 第一个  # 就能  # 在此  # 将其  # 它是  # 我把  # 我没  # 要想  # 给大家  # 然后再 


相关文章: 高端网站建设与定制开发一站式解决方案 中企动力  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  香港服务器部署网站为何提示未备案?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何在Windows服务器上快速搭建网站?  建站之星图片链接生成指南:自助建站与智能设计教程  建站主机选购指南:核心配置与性价比推荐解析  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何在万网主机上快速搭建网站?  建站之星logo尺寸如何设置最合适?  建站OpenVZ教程与优化策略:配置指南与性能提升  ,交易猫的商品怎么发布到网站上去?  如何用美橙互联一键搭建多站合一网站?  网站制作公司,橙子建站是合法的吗?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  高端企业智能建站程序:SEO优化与响应式模板定制开发  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  简单实现Android验证码  三星网站视频制作教程下载,三星w23网页如何全屏?  如何做静态网页,sublimetext3.0制作静态网页?  济南专业网站制作公司,济南信息工程学校怎么样?  已有域名和空间如何搭建网站?  建站之星免费版是否永久可用?  宝塔建站无法访问?如何排查配置与端口问题?  如何用景安虚拟主机手机版绑定域名建站?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  PHP 500报错的快速解决方法  建站之星如何优化SEO以实现高效排名?  TestNG的testng.xml配置文件怎么写  如何在云主机快速搭建网站站点?  Android使用GridView实现日历的简单功能  如何通过FTP空间快速搭建安全高效网站?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  建站VPS能否同时实现高效与安全翻墙?  建站之星安装需要哪些步骤及注意事项?  如何在IIS中新建站点并配置端口与物理路径?  存储型VPS适合搭建中小型网站吗?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  已有域名和空间,如何快速搭建网站?  如何配置支付宝与微信支付功能?  5种Android数据存储方式汇总  建站之星代理费用多少?最新价格详情介绍  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  如何正确选择百度移动适配建站域名?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  javascript基本数据类型及类型检测常用方法小结  制作公司内部网站有哪些,内网如何建网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  建站主机SSH密钥生成步骤及常见问题解答?  江苏网站制作公司有哪些,江苏书法考级官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。