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

2025-10-27 12:00:00

1、第一步:思路。

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;    }}

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

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

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

3、第三步:测试。

1、打开跳转页面。

2、下载请求,如下所示下载成功

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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢