上传文件抛出无方法签名异常(在 getFile() 方法中)

2023-12-09

我正在尝试上传文件并将其存储在文件中。这是 GSP 中的代码:

<g:form method="post" enctype="multipart/form-data"  action="update">
<input type="file" name="cv" id="cv"/>
<g:actionSubmit action="upload" name="upload" value="Upload" />
</g:form>

在控制器中:

def upload(){
def f = request.getFile('cv')
InputStream file = f.inputStream
byte[] bytes = file.bytes
println('bytes: '+bytes)
}

正如我在标题中所说,我在这里遇到了例外。有什么帮助吗?谢谢。

编辑(完整堆栈跟踪,根据要求):

Error 500: Internal Server Error

URI
/com.publidirecta.azafatas/azafataCertificada/index
Class
groovy.lang.MissingMethodException
Message
No signature of method:org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestWrapper.getFile() is applicable for argument types: (java.lang.String) values: [cv] Possible solutions: getXML(), getPart(java.lang.String), getAt(java.lang.String), getAt(java.lang.String), getLocale(), getJSON()

Around line 1158 of grails-app/controllers/com/publidirecta/AzafataCertificadaController.groovy

1155:           def upload(){
1156:       println("Acción upload. Params: "+params)
1157:       Azafata aza=Azafata.findByUsername(params.user)
1158:       def f = request.getFile('cv')
1159:       InputStream file = f.inputStream
1160:       byte[] bytes = file.bytes
1161:               }


Trace

    Line | Method
->> 1158 | upload  in AzafataCertificadaController.groovy
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
|    908 | run . . in     ''
^    680 | run     in java.lang.Thread

问题是您的请求没有被视为 MultiPartRequest。做这样的事情:

MultipartRequest multipartRequest =  request as MultipartRequest
  if(multipartRequest){
    MultipartFile attachmentFile = multipartRequest.getFile("attachment_file".toString())
    if (attachmentFile) {
        -- copy it ---
    }
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上传文件抛出无方法签名异常(在 getFile() 方法中) 的相关文章

随机推荐

  • 如何对类实例成员设置编译时验证

    我创建了一个如下所示的类 class myclass Public int myint 现在我想限制 myint 的范围 最小值 5 和最大值 10 我希望如果任何人设置的 myint 值不在范围内 它将给出编译时错误 而不是运行时错误 请
  • 使用 libav* 库在 xcode 4 中构建时出现非法文本重新定位到 non_lazy_ptr 错误

    我正在尝试构建一个在 xcode 4 中使用 ffmpeg 的 libav 库的简单应用程序 但出现以下错误 ld 对于 i386 架构 非法文本从 ff ac3 bit alloc calc psd 中的 ffmpeg temp ffmp
  • Inkscape - 未完全将 png 转换为 svg

    我在 Inkscape 中打开了一个 PNG 文件并将其导出为 SVG 当我用记事本打开该文件时 我发现 PNG 文件嵌入在其中 如果发生转换 则生成的文件应该仅包含 SVG 相关标签 它不应该将图像嵌入其中 还是我做错了什么 注意 另存为
  • 寻找圆内的坐标

    我正在 Grails 下使用 Google 地图进行混搭 用户可以在其中创建地理围栏通过选择地图上的点和半径 该数据存储在我的数据库中 并且应用程序不断从 GPS 设备接收一组坐标 我想将接收到的坐标与圆圈中存储的区域进行比较 如果该点在圆
  • sed 搜索范围并打印第一组

    我有一个如下所示的文件 myname something something something myname something something myname something and it follows and no stand
  • 在 Python 中从基类对象创建对象

    我有一个基类 class Animal object def init self name None food None self name name self food food def eat self print The s eats
  • 将一个文件中的汉字写入另一个文件

    我有一个里面有汉字文本的文件 我想将这些文本复制到另一个文件中 但文件输出与中文字符混乱 请注意 在我的代码中 我已经使用 UTF8 作为我的编码 BufferedReader br new BufferedReader new FileR
  • 将 .net core 项目发布到 iis 时出现 HTTP 错误 500.19,代码为 0x80070005

    我想在我的电脑的 IIS 管理器上发布示例 net core Web 应用程序 但失败了 我正在使用 Microsoft 指南 但它对我不起作用 如果您有解决此问题的合理经验 我将不胜感激看到您的建议 我缺少 IIS gt Modules
  • Google 日历 API 移动事件

    协议如下 在谷歌开发者网站上 他们在每个 api 函数描述的底部都有一个用于尝试 api 的工具 特别是我正在使用日历 api 其中写着 使用下面的 API 资源管理器 https developers google com google
  • 使用 Swing 计时器更新标签

    我在这段代码中遇到了一些问题 我正在使用一个随机数启动一个计时器 并且我想每秒更新一个带有倒计时的 JLabel 但我还没有弄清楚如何做到这一点 因为计时器触发的唯一监听器是在它的末尾 据我所知 这是代码 int i getTimer ma
  • KB4338830 更新后冻结 Winsock 应用程序

    我们的应用程序在一段时间后突然冻结KB4338830更新 不幸的是 应用程序无法重新启动也无法关闭 我怀疑这一切都是因为我正在使用的winsock 刚刚移植 它是在vb net上编写的 该程序与其他PC的连续发送和接收数据有关 有人遇到过同
  • Visual Studio 2012 XAML 设计器 - 无法添加多个项目

    我是 VS 2012 的新手 每次使用时都会遇到这个问题XAML设计器 每次我向窗口添加一个项目 例如单选按钮 图像 标签 时 它都会删除前一个项目 结果 我的窗口中只能有一项 我知道这是荒谬的 我错过了什么 这是窗口的xaml
  • 如何垂直对齐 div 中的文本?

    我正在尝试找到将文本与 div 对齐的最有效方法 我尝试了一些方法 但似乎都不起作用 testimonialText position absolute left 15px top 15px width 150px height 309px
  • 如何使用 python Tkinter 隐藏 Windows 控制台?

    我尝试将 py 文件重命名为 pyw 但用 py2exe 编译并没有什么区别 我尝试使用 root withdraw 但它所做的只是冻结应用程序 防止弹出初始画布 并且无论如何都无法删除命令提示符窗口 有没有人有办法解决吗 我的根是 根 T
  • LINQ to Entities 不支持“日期”。仅支持初始值设定项、实体成员和实体导航属性

    我正在尝试执行以下代码并收到错误 public List
  • 有没有办法更改FixedLenNullInSource 和TrimTrailingBlanks 的值?

    有没有办法改变值FixedLenNullInSource and TrimTrailingBlanks I use sp help比较不同服务器的输出以查看表是否相同 FixedLenNullInSource and TrimTrailin
  • 在 imageview 中显示来自 Intent 的 jpg 图像

    如何显示从 android intent action SEND in an imageview 用户从应用程序列表中选择我的应用程序来共享图像 图像是sent via intent我的活动打开了 但如何在图像视图中使用此图像 using
  • istio-proxy 访问日志是什么意思?

    我试图通过查看 istio proxy 访问日志 它记录每次访问 来对我的服务进行故障排除 但是 我找不到任何解释日志中每个条目含义的文档 例如 2018 12 20T11 09 42 302Z GET HTTP 1 1 200 0 614
  • C# 嵌套类序列化

    我正在尝试序列化订单的虚拟集合 其中每个订单都包含一个产品 该集合序列化良好 但订单内的示例产品属性被遗漏 订单领取 XmlRoot Orders public class OrderCollection ICollection
  • 上传文件抛出无方法签名异常(在 getFile() 方法中)

    我正在尝试上传文件并将其存储在文件中 这是 GSP 中的代码