java网页下载功能怎么获取文件名

      Java是一门面标的目的对象编程说话 , 不仅接收了C++说话的各类长处 , 还摒弃了C++里难以理解的多担当、指针等概念 , 是以Java说话具有功能壮大和简单易用两个特征 。 Java说话作为静态面标的目的对象编程说话的代表 , 极好地实现了面标的目的对象理论 , 许可程序员以优雅的思维体例进行复杂的编程   。
      Java具有简单性、面标的目的对象、分布式、健壮性、平安性、平台自力与可移植性、多线程、动态性等特点   。 Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等   。

需要这些哦
电脑
intellij IDEA或者eclipse
方式/
1第一步:思绪 。
【java网页下载功能怎么获取文件名】1、起首我们要理解上传文件的
 , 上传文件时为例避免文件重名 , 一般城市生当作一个UUID或者时候戳作为文件名 , 然后将文件真实的名字和存储的名字放在数据库表中的一笔记录中 。
2、下载和在前台展示的到时辰查询数据库的记实 。
2.1:展示前台的是原始名称
2.2:下载时按照UUID名字进行查找 。
3、借助于springMVC实现下载上传 。

java网页下载功能怎么获取文件名

文章插图

2第二步:下载代码实现 。
代码本家儿要本家儿要包罗
1、前台页面跳转 , 并查询数据库原始文件名展示
2、下载 , 按照数据库id查询文件存放路径下载
@Controller@RequestMapping("/downloadImg")public class DownloadController {    @RequestMapping("toIndex")    public ModelAndView toIndex(HttpServletRequest request, HttpServletResponse response){        //想数据库请求查询获得原始文件名展示        ModelAndView mv = new ModelAndView("index");        mv.addObject("name","火影");        return mv;    }    @ResponseBody    @RequestMapping("/download")    public void testUrl(HttpServletRequest request) throws UnsupportedEncodingException {        //获取请求的url        StringBuffer url = request.getRequestURL();        //获取url后面的参数        String urlParame =  request.getQueryString();;        System.out.println("url:"+ url);        System.out.println("urlParame:"+ urlParame);        //按照参数名称获取参数        String name = request.getParameter("name");        System.out.println("name:"+ new String(name.getBytes("ISO-8859-1"),"utf-8"));    }    public ResponseEntity<byte[]> download(HttpServletRequest request) throws IOException {        //读取文件        File file = new File("D:/img/火影2.jpg");        byte[] body = null;        InputStream is = new FileInputStream(file);        body = new byte[is.available()];        is.read(body);        HttpHeaders headers = new HttpHeaders();        //设置文件头        headers.add("Content-Disposition", "attchement;filename=" + new String( "火影2.jpg".getBytes("gb2312"), "ISO8859-1" ));        HttpStatus statusCode = HttpStatus.OK;        ResponseEntity<byte[]> entity = new ResponseEntity<byte[]>(body, headers, statusCode);        return entity;    }}

推荐阅读