当前位置: 首页 > 知识库问答 >
问题:

向spring资源对象添加名称

秋光熙
2023-03-14

嗨,我正在调用一个endpoint,它返回一个包含byteArray的Spring资源,我需要将其传递给另一个需要Spring资源对象的endpoint。但是传入的资源没有文件名。传出的资源需要一个文件名,因为它将其转换为emai附件。

在此处添加文件名的最佳方法是什么?我一直在尝试将资源复制到文件并再次将该文件读取到新资源中,但它一直告诉会议该文件不存在于该位置。

共有1个答案

余弘毅
2023-03-14

在控制器方法中设置文件名

 HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_PDF);
            headers.setContentDispositionFormData(filename, filename);
            headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");

在响应实体中

 return ResponseEntity.ok()
                .headers(headers)
                .contentLength(fileLength)
                .body(resource);
 类似资料:
  • 问题内容: 在http中添加缓存非常简单。(通过传递cache = true) http://docs.angularjs.org/api/ng.$http具有“缓存”选项。 如何在angularjs的$ resource中添加类似的功能? 问题答案: 从1.1.2(commit)开始,所有$ httpConfig选项都直接在$ resource操作对象中公开:

  • 问题内容: 我想在JAR文件中包含资源文件(图像,文本文件…)。我将资产文件夹添加到类路径中,因此当我在netBeans中运行该程序时,程序运行正常。 但是,如果我构建项目,则会收到错误消息: 这是正常错误吗? 所以我试图像这样手动添加资产: 但这行不通。我有事吗?对不起,我的英语,谢谢您的帮助。 问题答案: 不要将文件放在桌面上。转到项目的Source文件夹,然后将其复制到该文件夹​​中。在Ne

  • 我的情况:我有一个可以有很多工人的组织。我正试图按照SDR项目的主要贡献者的例子向一个组织添加一个新工人,我得到了各种错误(包括204个错误,但什么也没发生)。 以下是我的实体和Rest电话: 收到http://localhost:8080/hal 邮递http://localhost:8080/hal/workers 答复: 最后一步,按照说明中的链接: 进行一些调试,很明显具体的投诉是什么。堆

  • 我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象

  • 问题内容: 如何在netbeans项目的类路径中添加文件夹(例如,包含arts的资源文件夹)?我设法通过编辑项目的NB生成的jar文件(即其MANIFEST.MF文件+手动复制资源)来手动完成此操作,但是应该有一种方法可以告诉netbeans并注意资源,不是吗? 文件夹结构如下所示: 我不想将艺术品包装到罐子里,因为我希望艺术品可以轻松更换。如果我将art文件夹添加到src文件夹,则NB可以正常编

  • 问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中: