zoukankan      html  css  js  c++  java
  • 上传,下载身份证案例

    package site.action.ecom.mejtao.personalinfo;

    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;

    import javax.imageio.ImageIO;
    import javax.imageio.stream.ImageOutputStream;

    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.Namespace;
    import org.apache.struts2.convention.annotation.ParentPackage;
    import org.apache.struts2.convention.annotation.Result;
    import org.springframework.beans.factory.annotation.Autowired;

    import rop.thirdparty.com.alibaba.fastjson.JSON;
    import site.base.action.FrontendBaseAction;
    import site.base.businessbean.FileBean;
    import site.base.pojo.FrontUser;
    import site.base.service.BaseService;
    import site.common.PropertyUtil;
    import site.common.constant.Constants;
    import site.service.ecom.customer.CustomerService;
    import site.vo.ecom.customer.CustomerBizBean;

    @ParentPackage("base_for_front_json")
    @Namespace("/personalinfo")
    public class PersonalInfoAction extends FrontendBaseAction{


    private static final long serialVersionUID = 1L;

    @Autowired
    private CustomerService customerService;

    private String realName;
    private String identify;

    private Long supplierHeadId;
    private Long customerId;
    //文件
    private File files;
    private File files2;


    //文件原名
    private String filesFileName;
    private String files2FileName;
    private ByteArrayInputStream inputStream;
    private String flag;
    private String showflag;
    /**
    * 保存,更新身份信息
    * @return
    */
    @Action(value="updateinfo")
    public String updateInfo(){
    boolean single=false;
    FrontUser user= super.getCurrentFrontUser();
    CustomerBizBean customBean = customerService.getCustomerById(user.getId());//
    customBean.setCustomerHeadName(realName);
    customBean.setCustomerHeadIdNo(identify);
    try{
    customerService.execute(customBean,BaseService.COMMAND_UPDATE);
    single=true;
    }catch(Exception e){
    e.printStackTrace();
    }
    getResultMap().put("result", single);
    return RES_JSON;
    }

    /**
    * 上传身份证
    */
    @Action(value="personinfo")
    public void personInfo(){
    FrontUser user= super.getCurrentFrontUser();
    Map<String,Object> map = new HashMap<String, Object>();
    CustomerBizBean customBean = customerService.getCustomerById(user.getId());//

    boolean fileFlag = false;
    String filePath = null;
    String fileName = null;

    //取得上传文件类型
    String uploadFileType=PropertyUtil.getPropertyValueByKey(Constants.COMMMON_PIC_TYPE,request);
    //取得上传文件大小
    String uploadFileSize=PropertyUtil.getPropertyValueByKey(Constants.SUPP_FILESIZE,request);
    //取得上传文件路径
    String myUploadDir;
    myUploadDir=getUploadRootDirForService();
    setFileAllowedTypes(uploadFileType);
    //按日期存放
    File dirFile = new File(myUploadDir+"/identity");
    if(!(dirFile.exists())&&!(dirFile.isDirectory())){
    boolean creadok = dirFile.mkdirs();
    if (creadok) {
    myUploadDir=myUploadDir+"/identity";
    }
    }else{
    myUploadDir=myUploadDir+"/identity" ;
    }
    setUploadDir1(myUploadDir);
    setFileMaxSize(Long.valueOf(uploadFileSize));
    String newfilename="";
    if("front".equals(flag)){
    newfilename=customBean.getCustomerHeadLoginNo()+"_front"+
    filesFileName.substring(filesFileName.indexOf("."),filesFileName.length());
    }else if("back".equals(flag)){
    newfilename=customBean.getCustomerHeadLoginNo()+"_back"+
    files2FileName.substring(files2FileName.indexOf("."),files2FileName.length());
    }

    //上传
    try {
    if(files != null || files2 !=null){
    FileBean fileBean1=new FileBean();
    if("front".equals(flag)){
    fileBean1=super.uploadFile(files,filesFileName, newfilename);
    }else if("back".equals(flag)){
    fileBean1=super.uploadFile(files2,files2FileName, newfilename);
    }

    //supplierHeadBean.setSupplierFeeFile(fileBean1.getNewName()) ;
    filePath = myUploadDir;
    fileName = fileBean1.getNewName();
    fileFlag = true;
    if("front".equals(flag)){
    customBean.setCustomerIdNoFront(myUploadDir+"/"+newfilename);
    }else if("back".equals(flag)){
    customBean.setCustomerIdNoBack(myUploadDir+"/"+newfilename);
    }

    customerService.execute(customBean,BaseService.COMMAND_UPDATE);
    }
    } catch (Exception e) {
    log.error("图片上传失败!");
    this.addFieldError("upload", "上传图片失败!");
    }


    map.put("filePath", filePath);
    map.put("fileName", fileName);
    map.put("fileFlag", fileFlag);

    try {
    response.getWriter().write(JSON.toJSONString(map));
    response.getWriter().flush();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }


    }
    /**
    * 下载身份证
    * @return
    * @throws Exception
    */
    @Action(value = "downpic", results= {@Result(name=SUCCESS,type="stream",params={"contentType","image/jpeg","inputName","inputStream"})})
    public String downPic() throws Exception {
    setInputStream(createInputStream());
    return SUCCESS;
    }
    // 将图片的以字节形式写到InputStream里
    public ByteArrayInputStream createInputStream() throws Exception {
    FrontUser user= super.getCurrentFrontUser();
    CustomerBizBean customBean = customerService.getCustomerById(user.getId());
    String imgPath="";
    if("front".equals(showflag)){
    imgPath = customBean.getCustomerIdNoFront();
    }else if("back".equals(showflag)){
    imgPath = customBean.getCustomerIdNoBack();
    }

    BufferedImage image = ImageIO.read(new FileInputStream(imgPath));

    ByteArrayOutputStream output = new ByteArrayOutputStream();
    ImageOutputStream imageOut = ImageIO.createImageOutputStream(output);
    ImageIO.write(image, "JPEG", imageOut);
    imageOut.close();
    ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
    output.close();
    return input;
    }

    public Long getSupplierHeadId() {
    return supplierHeadId;
    }
    public void setSupplierHeadId(Long supplierHeadId) {
    this.supplierHeadId = supplierHeadId;
    }
    public Long getCustomerId() {
    return customerId;
    }
    public void setCustomerId(Long customerId) {
    this.customerId = customerId;
    }

    public void setFiles(File files) {
    this.files = files;
    }

    public void setFilesFileName(String filesFileName) {
    this.filesFileName = filesFileName;
    }
    public ByteArrayInputStream getInputStream() {
    return inputStream;
    }
    public void setInputStream(ByteArrayInputStream inputStream) {
    this.inputStream = inputStream;
    }

    public String getRealName() {
    return realName;
    }

    public void setRealName(String realName) {
    this.realName = realName;
    }

    public String getIdentify() {
    return identify;
    }

    public void setIdentify(String identify) {
    this.identify = identify;
    }

    public String getFlag() {
    return flag;
    }

    public void setFlag(String flag) {
    this.flag = flag;
    }

    public File getFiles2() {
    return files2;
    }

    public void setFiles2(File files2) {
    this.files2 = files2;
    }

    public String getFiles2FileName() {
    return files2FileName;
    }

    public void setFiles2FileName(String files2FileName) {
    this.files2FileName = files2FileName;
    }

    public String getShowflag() {
    return showflag;
    }

    public void setShowflag(String showflag) {
    this.showflag = showflag;
    }




    }

    define(function(require, exports, module) {
    var $base = require('pageinit');// 引入带滚动翻页的基础js
    var $ = $base.query;// 获取模块的jquery全局变量
    require('jquery/jquery.ajaxfileupload')($);

    $(document).ready(function(){
    download()
    returnurl=getQueryString("returnurl");
    });
    });

    //返回
    var returnurl;
    function goback(){

    if(returnurl==""){
    returnurl="/html/persona/my.html";
    }
    returnurl="http://"+window.location.hostname+":"+window.location.port+returnurl;
    //window.location.hostname+":"+window.location.port "http://localhost:8080"
    window.location.href=returnurl;
    }

    var falg;
    var file;
    function uploadfront(){
    if($('#files').val()==""){
    alert("请选择一张图片");
    return;
    }
    flag="front";
    file="files";
    upload();
    }
    function uploadback(){
    if($('#files2').val()==""){
    alert("请选择一张图片");
    return;
    }
    flag="back";
    file="files2";
    upload();
    }


    //上传图片
    function upload(){
    $.ajaxFileUpload({ url : '/personalinfo/personinfo.do?flag='+flag,
    secureuri : false,
    fileElementId : file,
    async: false,
    // dataType : 'json',
    success : function(data,status) {
    alert("上传成功");
    download();
    },
    error : function(data, status, e) {
    alert("上传失败");
    }
    });

    }
    //下载图片
    function download(){
    var imgfront=document.getElementById("idimage");
    imgfront.src="/personalinfo/downpic.do?showflag=front";
    var imgback=document.getElementById("idimage2");
    imgback.src="/personalinfo/downpic.do?showflag=back"
    }
    //保存个人信息
    function updateinfo(){
    var realname=$("#realname").val();
    var identiy=$("#identifi").val();
    if(realname.trim()=="" || realname==null){
    alert("请输入真实姓名!");
    return;
    }
    if(identiy.trim()=="" || identiy==null){
    alert("请输入正确身份证!");
    return;
    }
    $.getJSON("/personalinfo/updateinfo.do",
    {"realName":realname,"identify":identiy},
    function(element){
    var f=element.result;
    if(f){
    alert("保存成功!");
    }else{
    alert("信息保存失败");
    }
    });

    }

    <table>
    <tr>
    <td><a class="f_l MR10" href="javascript:addImg();"><img id="idimage" width="100" height="100" src=""></a></td>
    <td><a class="f_l MR10" href="javascript:addImg();"><img id="idimage2" width="100" height="100" src=""></a></td>
    </tr>
    <tr>
    <td><input id="files" name="files" type="file" onchange="uploadfront()"/><br></td>
    <td><input id="files2" name="files2" type="file" onchange="uploadback()"/><br></td>
    </tr>
    </table>

  • 相关阅读:
    memcached与redis 对比
    Java中的成员初始化顺序和内存分配过程
    mysql inner join,full outer join,left join,right jion
    事务 相关概念理解
    最简单的重试机制
    垃圾脚本黑我linux服务器
    趣解curl
    面试题
    Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
    PermGen space
  • 原文地址:https://www.cnblogs.com/xuehen/p/4549060.html
Copyright © 2011-2022 走看看