• 2021.4.27


    下载功能

    这里面很多我都没看懂,涉及浏览器相关的东西,但是改了改索性是能跑

    PhotoDao dao = PhotoDaoFactory.getPhotoDao();
    //创建dao层对象,和上面一样
    String uuid = request.getParameter("uuid");
    //还是获取uuid,同样可以用ssm的方法从前端获取
    PhotoModel photo = dao.getSingleByUuid(uuid);
    //调用方法,查找指定的对象
    if(photo!=null){
    //设置响应头--内容接收程序--浏览器看到这个响应头,就会把它认为的下载程序打开
    //(如果识别迅雷那么就会自动打开迅雷,如果没有则会打开一个“文件另存为”的对话框)
    response.setContentType("application/force-download");

    String realName = photo.getRealName();
    //把名称先拿出来
    String agent = request.getHeader("User-Agent");
    //获取用户使用的操作系统,cpu什么的一堆,具体我不知道原理


    if(agent.indexOf("Mozilla")!=-1){//火狐浏览器
    response.setHeader("Content-Disposition", "attachment;filename="+ new String(realName.getBytes("GB2312"),"ISO-8859-1"));
    }else{
    //解决中文乱码问题(只要用下面一句对文件名进行编码就行了)
    realName = URLEncoder.encode(realName, "utf-8");
    //使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式。
    response.setHeader("Content-Disposition", "attachment;filename=""+realName+""");
    //注意:“cttachment;”不能少,否则浏览器会直接在新窗口中打开
    }
    //此处是我的知识盲区。。。自行理解一下,不行照搬


    }else{
    //提示用户图片已经被删除
    }

  • 相关阅读:
    支付宝及时到帐接口使用详解
    简便无刷新文件上传系统
    EyesBaby功能实现之窗口拖拽与缩放功能
    Jquery各行换色 click变色
    纯CSS圆角框3-圆角化图片
    WINFORM自定义皮肤制作(上)
    EyesBaby1.0使用帮助文档
    C#实现小写金额转大写金额
    在winform中运用FusionCharts图表(一)
    第一章、基本的圆角框
  • 原文地址:https://www.cnblogs.com/buxiang-Christina/p/14909106.html
Copyright © 2020-2023  润新知