spring mvc下载文件没有显示扩展名

时间:2016-03-05 08:08:21

标签: spring-mvc download

我试图让客户下载示例excel文件。这是我的代码:

String path = UploadController.class.getResource("/com/medify/data/" + file).getFile();

    response.setContentType("application/force-download");
    response.setContentType("application/excel");
    response.setHeader("Content-Disposition", "attachment; filename=" + file); 

    try{
        File fi = new File(path);
        InputStream in = new BufferedInputStream(new FileInputStream(fi));
        ServletOutputStream out = response.getOutputStream();
        IOUtils.copy(in, out);
        response.flushBuffer();

        return null;
    }
    catch(Exception ex){
        return null;
    }

问题是下载的文件永远不会有文件扩展名。该文件为 sample-doctor-uploads.xls ,并存在于 com / medify / data 包中。

1 个答案:

答案 0 :(得分:2)

您需要使用正确的内容类型。如果您的文件有.xls扩展名,则需要使用 -

response.contentType = "application/vnd.ms-excel"

并使用带有扩展名的完整文件名 -

response.setHeader "Content-disposition", "attachment;filename=fileNamewithExtention"