采用uploadify上传  官网:http://www.uploadify.com/  (有H5版本和flash版本,H5收费,所以暂时用flash)

uploadify的重要配置属性(http://www.uploadify.com/documentation/):

1.auto:是否选择之后立刻上传

2.buttonText:按钮的文字

3.fileObjName:服务器端获取上传文件name的属性

4.fileTypeDesc:文件类型显示提示描述

5.fileTypeExits:控制文件类型

6.formData:在上传过程中,额外的参数和值

7.height:按钮高度

8.multi:是否允许多选(默认为true)

9.overrideEvents:要覆盖的事件

10.swf:指向uploadify的flash文件

11:uploader:后台处理上传文件的地址

12:width:按钮的宽度

==================================

  1. <script type="text/javascript">
  2. $(function(){
  3.  
  4. //把上传身份证正面的a标签变成一个uploadify的组件
  5. $("#uploadBtn1").uploadify({
  6. buttonText:"身份证正面",
  7. fileObjName:"file",
  8. fileTypeDesc:"身份证正面图片",
  9. fileTypeExts:"*.gif; *.jpg; *.png",
  10. multi:false,
  11. swf:"/js/plugins/uploadify/uploadify.swf",
  12. uploader:"/realAuthUpload.do",
  13. overrideEvents:["onUploadSuccess","onSelect"],
  14. onUploadSuccess:function(file,data){
  15. $("#uploadImg1").attr("src",data);
  16. $("#uploadImage1").val(data);
  17. }
  18. });
  19.  
  20. $("#uploadBtn2").uploadify({
  21. buttonText:"身份证反面",
  22. fileObjName:"file",
  23. fileTypeDesc:"身份证反面图片",
  24. fileTypeExts:"*.gif; *.jpg; *.png",
  25. multi:false,
  26. swf:"/js/plugins/uploadify/uploadify.swf",
  27. uploader:"/realAuthUpload.do",
  28. overrideEvents:["onUploadSuccess","onSelect"],
  29. onUploadSuccess:function(file,data){
  30. $("#uploadImg2").attr("src",data);
  31. $("#uploadImage2").val(data);
  32. }
  33. });
  1. });
  1. </script>
  1.                    <div class="form-group">
  2. <label class="col-sm-4 control-label" for="address">身份证照片</label>
  3. <div class="col-sm-8">
  4. <p class="text-help text-primary">请点击“选择图片”,选择证件的正反两面照片。</p>
  5. <a href="javascript:;" id="viewExample">查看样板</a>
  6. <div class="idCardItem">
  7. <div>
  8. <a href="javascript:;" id="uploadBtn1" >上传正面</a>
  9. </div>
  10. <img alt="" src="" class="uploadImg" id="uploadImg1" />
  11. <input type="hidden" name="image1" id="uploadImage1" />
  12. </div>
  13. <div class="idCardItem">
  14. <div>
  15. <a href="javascript:;" id="uploadBtn2" >上传反面</a>
  16. </div>
  17. <img alt="" src="" class="uploadImg" id="uploadImg2"/>
  18. <input type="hidden" name="image2" id="uploadImage2" />
  19. </div>
  20. <div class="clearfix"></div>
  21. </div>
  22. </div>

=================================================================

前台controller

1.需要导入fileupload的包

  1. <!--fileupload -->
  2. <dependency>
  3. <groupId>commons-fileupload</groupId>
  4. <artifactId>commons-fileupload</artifactId>
  5. <version>1.3.1</version>
  6. </dependency>

2.在springMvc中加入multipartResolver

  1. <!--文件上传解析器-->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3. <property name="maxUploadSize" value="100000000"></property>
  4. </bean>
  1. package com.xmg.p2p.base.controller;
  2.  
  3. import javax.servlet.ServletContext;
  4.  
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.multipart.MultipartFile;
  10.  
  11. import com.xmg.p2p.base.domain.Userinfo;
  12. import com.xmg.p2p.base.service.IRealAuthService;
  13. import com.xmg.p2p.base.service.IUserinfoService;
  14. import com.xmg.p2p.base.util.RequireLogin;
  15. import com.xmg.p2p.base.util.UploadUtil;
  16.  
  17. /**
  18. * 实名认证控制
  19. * @author Administrator
  20. *
  21. */
  22. @Controller
  23. public class RealAuthController {
  24.  
  25. @Autowired
  26. private ServletContext servletContext;

    /**
    * 文件上传
    */
  @RequestMapping("realAuthUpload")
  @ResponseBody
  public String realAuthUpload(MultipartFile file){
    //先得到basepath文件的绝对路径
    String basePath = servletContext.getRealPath("/upload");//会上传到webapp下的upload文件夹
    String filename = UploadUtil.upload(file, basePath);
    //System.out.println("/upload/"+filename);
    return "/upload/"+filename;

    }

  1. }

工具类

  1. package com.xmg.p2p.base.util;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.UUID;
  6.  
  7. import org.apache.commons.io.FileUtils;
  8. import org.apache.commons.io.FilenameUtils;
  9. import org.springframework.web.multipart.MultipartFile;
  10.  
  11. /**
  12. * 上传工具
  13. *
  14. * @author Administrator
  15. *
  16. */
  17. public class UploadUtil {
  18.  
  19. /**
  20. * 处理文件上传
  21. *
  22. * @param file
  23. * @param basePath
  24. * 存放文件的目录的绝对路径 servletContext.getRealPath("/upload")
  25. * @return
  26. */
  27. public static String upload(MultipartFile file, String basePath) {
  28. String orgFileName = file.getOriginalFilename();
  29. String fileName = UUID.randomUUID().toString() + "."
  30. + FilenameUtils.getExtension(orgFileName);
  31. try {
  32. File targetFile = new File(basePath, fileName);
  33. FileUtils.writeByteArrayToFile(targetFile, file.getBytes());
  34.  
  35. } catch (IOException e) {
  36. e.printStackTrace();
  37. }
  38. return fileName;
  39. }
  40. }

============================================================

P2P文件上传的更多相关文章

  1. Slack 开源替代品 Rocket.Chat(聊天,文件上传等等)

    Rocket.Chat 是特性最丰富的 Slack 开源替代品之一. 主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等. Rocket.Chat ...

  2. 用c++开发基于tcp协议的文件上传功能

    用c++开发基于tcp协议的文件上传功能 2005我正在一家游戏公司做程序员,当时一直在看<Windows网络编程> 这本书,把里面提到的每种IO模型都试了一次,强烈推荐学习网络编程的同学 ...

  3. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  4. 11、Struts2 的文件上传和下载

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

  5. Java FtpClient 实现文件上传服务

    一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...

  6. 小兔Java教程 - 三分钟学会Java文件上传

    今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...

  7. ,net core mvc 文件上传

    工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ...

  8. Web开发安全之文件上传安全

    很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( iss ...

  9. AutoIt实现Webdriver自动化测试文件上传

    在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...

随机推荐

  1. 编写线程安全的Java缓存读写机制 (原创)

    一种习以为常的缓存写法: IF value in cached THEN return value from cache ELSE compute value save value in cache ...

  2. 【NOIP2018】保卫王国 动态dp

    此题场上打了一个正确的$44pts$,接着看错题疯狂$rush$“正确”的$44pts$,后来没$rush$完没将之前的代码$copy$回去,直接变零分了..... 这一题我们显然有一种$O(nm)$ ...

  3. UiAutomator -- UiObject2 API

    1.点击与长按 void click() Clicks on this object. void click(long duration) Performs a click on this objec ...

  4. Docker学习--Linux基础准备篇

    1.docker命令不需要附带敲sudo的解决办法 由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用 ...

  5. 数据库MySQL(课下作业,必做)

    数据库MySQL(课下作业,必做) 题目要求: 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入 ...

  6. postman—post方式几种请求参数区别

    postman中 form-data.x-www-form-urlencoded.raw.binary的区别 版权声明参考: https://blog.csdn.net/wangjun5159/art ...

  7. 编写Android程序Eclipse连不上手机。

    主要问题有: 1.开发者选项没有开启 2.设备管理器中MTP有黄色小叹号 3.ADB异常. 问题1容易解决. 问题2,3困扰了我很长时间,网上的很多解决方法是下载安装MTP驱动,或者直接右击更新驱动. ...

  8. Android Studio SVN的使用

    一 SVN的配置 这篇文章使用的Android studio版本为1.4 RC3. 我选择的是TortoiseSVN,版本为1.8,不要选择1.9版本(目前的最新版),因为如果你安装的是1.9版本当你 ...

  9. Android 开发工具类 23_getImage

    pathText = "http://192.168.1.100:8080/ServerForPicture/wangjialin.jpg" import java.io.Inpu ...

  10. 如何自学计算机科学与技术(Teach Yourself Computer Science)

    如果你是一个自学成才的半吊子,或者是从培训班毕业的小菜鸟.那么,你欠自己一份计算机科学的专业知识.感谢上帝,如今你可以接受世界水平的计算机教育,但无需花费数年时间和一笔不小的金钱. 互联网上的学习资源 ...