springboot如何访问resource目录下的文件,访问不到资源处理方法:class path resource [template.xlsx] cannot be resolved to UR

这篇具有很好参考价值的文章主要介绍了springboot如何访问resource目录下的文件,访问不到资源处理方法:class path resource [template.xlsx] cannot be resolved to UR。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

springboot访问到reource文件下的资源,访问不到资源处理方法:

class path resource [template.xlsx] cannot be resolved to UR

ClassPathResource 可以直接访问到资源文件夹reource,但是为什么提示找不到资源呢,首先我先放出我得代码

示例代码

@PostMapping("/downloadExcel")
    public ResponseEntity<byte[]> downloadExcel() throws IOException {
        // 读取 Excel 文件为 Resource 对象
        Resource resource = new ClassPathResource("excel/template.xlsx");
        // 读取文件字节流
        byte[] fileBytes = Files.readAllBytes(resource.getFile().toPath());
        // 设置响应头
        HttpHeaders headers = new HttpHeaders();
        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=template.xlsx");

        return ResponseEntity.ok()
                .headers(headers)
                .contentType(MediaType.APPLICATION_OCTET_STREAM)
                .body(fileBytes);
    }

访问不到资源处理方法:

报错:class path resource [template.xlsx] cannot be resolved to UR

于是我检查target文件是否存在编译后得文件:发现果然没有我放得excel

如果你的 Excel 文件没有出现在编译后的 target 文件夹中,可能是因为 Maven 或 Gradle 的默认配置导致资源文件没有正确地复制到编译目录下。

在 Maven 项目中,src/main/resources 目录下的文件会默认被复制到编译后的 target/classes 目录下。而在 Gradle 项目中,默认的资源目录为 src/main/resources,也会被复制到编译后的目录中。

确保按照以下步骤检查和解决问题:

确认 Excel 文件位于 src/main/resources 目录下的 excel 文件夹中,并且文件名和路径的大小写匹配。

检查 Maven 或 Gradle 配置文件,确保资源文件被正确地包含在构建过程中。在 Maven 项目中,你可以检查 pom.xml 文件中的标签

<resources>

对于 Maven 项目,确保以下类似的配置存在:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </resource>
    </resources>
</build>

执行 Maven 构建命令,重新编译项目。在构建成功后,检查编译后的目录(target/classes)中是否存在 Excel 文件。


后续发现打成jar包无法访问excel文件
需要将文件转成输出流进行返回
改了一下代码文章来源地址https://www.toymoban.com/news/detail-705944.html

InputStream inputStream = getClass().getResourceAsStream("/excel/代发一次性待遇导入模板.xlsx");
        byte[] fileBytes;
        try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
            // Read the input stream and write it to the output stream
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            fileBytes = outputStream.toByteArray();
        }

        // Set the response headers
        HttpHeaders headers = new HttpHeaders();
        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=代发一次性待遇导入模板.xlsx");

        return ResponseEntity.ok()
                .headers(headers)
                .contentType(MediaType.APPLICATION_OCTET_STREAM)
                .body(fileBytes);

到了这里,关于springboot如何访问resource目录下的文件,访问不到资源处理方法:class path resource [template.xlsx] cannot be resolved to UR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot获取resources目录下的文件的三种方式

    在Spring Boot项目中,经常需要获取 resources 目录下的文件。这些文件可以包括配置文件、模板文件、静态资源等。本文将介绍三种常用的方法来获取 resources 目录下的文件。 ResourceLoader 接口是Spring框架提供的用于加载各种资源的接口,包括 classpath 下的资源。在Spring Boot中,可

    2024年02月16日
    浏览(40)
  • 如何将一个目录下的所有md文件导出成pdf

    要将一个目录下的所有Markdown(.md)文件导出为PDF,您可以使用Node.js进行编程来实现。以下是一种可能的方法: 首先,您需要设置Node.js环境并安装依赖项。在命令行中导航到您的项目目录,并运行以下命令: 创建一个名为 convert.js 的JavaScript文件,并在其中编写以下代码:

    2024年02月16日
    浏览(36)
  • Java读取resources下的文件及资源路径

    在Java开发中,经常需要读取项目中resources目录下的文件或获取资源路径。本文将介绍如何在Java中读取resources下的文件,并提供相关实例来说明。 方式一:使用ClassLoader 上述代码通过ClassLoader的 getResourceAsStream 方法获取resources目录下的 test.txt 文件的输入流,然后通过BufferedR

    2024年02月15日
    浏览(27)
  • MAC访问MySQL下的data目录

    1.查看创建表存储路径 2.快捷键com+shift+G,输入查询到的地址 3.终端输入 然后输入密码即可  

    2024年02月12日
    浏览(26)
  • spring boot 下载resources下的静态文件为流格式

    废话不多说,直接上代码 一、下载逻辑 二、格式对照表 比较全面的contentType的类型值

    2024年02月07日
    浏览(33)
  • Spring Boot读取resource目录下文件失败解决方案及分析

    最近有个需求,就是需要从resource目录下读取文件返回给用户。在idea中运行时,有些resource下文件读取工具类能够正常获取读取到文件。但是通过java –jar的方式去运行jar包,此时resource下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文件读取

    2024年02月05日
    浏览(38)
  • SpringBoot 打成jar包后如何获取jar包Resouces下的文件

    获取resouces下的文件使用以下代码即可读取,如果需要变成file传入其他的方法中,需要创建临时文件将输入流文件 复制到 临时文件中,并传入相关方法,最后删除临时文件即可。不能通过ClassPathResouce对象直接获取 文件File

    2024年02月19日
    浏览(26)
  • 【已解决】Spring boot项目获取到resource目录下文件完整路径怎么获取 ?

    在实际开发过程中,可能有时候,我们将文件放在resource下,在程序中需要获取到文件路径然后操作。比如,将公钥放到resource文件夹下,在程序中需要获取到这个公钥的完整路径。怎么操作?   需要访问的文件位置 获取方法如下: 在yaml文件中配置公钥文件名称: pem:   

    2024年02月09日
    浏览(33)
  • Linux查看目录下的文件及根目录文件的解释

    在Linux操作系统当中,文件名不区分后缀,但经常使用后缀来帮助用户区分文件。 语法结构:ls 路径 列出指定目录下的内容,该命令在没有指定要列出哪个选项和参数的时候,默认为列出当前目录下的内容,一本都有默认的(注:默认的情况下不区分文件和目录,注意,在

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包