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

对multipartfile使用@RequestParam是正确的方法?

韩寂离
2023-03-14

我正在开发一个spring mvc应用程序,我想在我的控制器中处理多部分请求。在我传递multipartfile的请求中,当前我使用@requestparam获取文件参数,

@RequestMapping(method = RequestMethod.POST)
public def save(
        @ModelAttribute @Valid Product product,
        @RequestParam(value = "image", required = false) MultipartFile file) {
    .....
}

上面的代码在我的服务中工作得很好,文件正在服务器端上。现在我在某个地方看到,在某些情况下,文件需要使用@requestpart注释,而不是@requestparam。对文件使用@requestparam有什么错误吗?或者将来可能会造成任何错误?

共有1个答案

皇甫卓君
2023-03-14

@requestparammultipart文件一起使用是没有错的。

@RequestParam注释还可以用于将“多部分/表单-数据”请求的部分与支持相同方法参数类型的方法参数相关联。主要区别在于,当方法参数不是字符串时,@RequestParam依赖于通过注册的转换器或PropertyEditor进行的类型转换,而@RequestPart依赖于HttpMessageConverters,同时考虑到请求部分的“Content-Type”标头。@RequestParam可能与名称-值表单字段一起使用,而@RequestPart可能与包含更复杂内容的部分(例如JSON、XML)一起使用。

参见http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/requestpart.html

 类似资料:
  • 问题内容: 我正在开发一个Spring MVC应用程序,我想在控制器中处理多部分请求。在我 也传递的请求中,当前我正在使用该文件来获取参数,该方法看起来像, 上面的代码在我的服务中效果很好,并且文件在服务器端。现在我看到某处文件需要使用注释而不是。文件使用有什么错误吗?还是将来可能导致任何类型的错误? 问题答案: 与 file一起使用没错。 @RequestParam批注还可用于将“ multip

  • 问题内容: 即使在使用Java Swing一年以上之后,对我来说,它仍然像魔术一样。如何正确使用BufferStrategy,尤其是方法? 我想添加一个JFrame和一个Canvas,然后进行绘制。我还希望能够调整()画布的大小。每次我调整Canvas的大小时,似乎都会被浪费掉,或者变得毫无用处,因为在上使用并没有真正做任何事情。另外,它具有怪异的不确定性行为,我不知道如何正确同步它。 这就是我的

  • 问题内容: 我想在Linux上使用该机制。我希望我的应用程序知道何时更改了文件。能否请您提供给我一个示例,该怎么做? 问题答案: 文档(来自具有inotify的Monitor文件系统活动) 在C API 提供了三个系统调用来构建各种文件系统监视器: 在内核中创建子系统的实例,并在成功和失败时返回文件描述符。与其他系统调用一样,如果失败,请检查诊断。 顾名思义,它增加了一块 手表 。每个监视都必须提

  • 问题内容: 需要帮助,以了解如何在UIKit中使用prepareForReuse()。该文件说 您只应重置与内容无关的单元格属性,例如Alpha,编辑和选择状态 但是如何重置单个属性属性(例如isHidden)呢? 假设我的单元格有2个标签,我应该在哪里重置: 标签文本 label.numberOfLines label.isHidden 我的tableView(_:cellForRowAt :)

  • 问题内容: 我能够使用三个链接来组合一个简化的完整History.js示例,以从整个页面加载内容片段,而无需更新页面和更新浏览器历史记录。 这是相关的代码段- 完整的工作示例在此处http://jsfiddle.net/PT7qx/show 我想知道这是否正确。以前的版本可以使用#url绑定到事件。我没有看到使用此最新版本将事件绑定到url的任何示例,因此我使用了.on()click事件来调用Hi

  • 一段时间以来,我一直试图将我的tableview工作作为一种电子表格,通过背景线程进行更新,当单元格更新时,它会亮起几秒钟(更改样式),然后返回到原始样式。我已经知道,我不能直接在表格单元格中存储和设置样式,我需要某种支持类来保存这些数据。但是tableview“重用”单元格(使用相同的单元格处理不同的数据)的行为真的很奇怪。当所有单元格都适合屏幕时,它对我来说完美无瑕,但一旦我放置大约100个单