如何管理发送到我的grails的文件

如何管理发送到我的grails的文件,grails,Grails,我在如何管理cordova发送到grails服务器的音频文件以转换为字节方面遇到了问题,因为我不知道如何恢复发送到“audioDeal”方法的音频,我尝试使用params.fileName、params.options…: 科尔多瓦 我的文件域有字节[]音频文件。我的“数据”将是我的对象,应该包含、名称、大小等 def audioDeal() { if (params.data) { def data = params.data def audio = new Test(

我在如何管理cordova发送到grails服务器的音频文件以转换为字节方面遇到了问题,因为我不知道如何恢复发送到“audioDeal”方法的音频,我尝试使用params.fileName、params.options…: 科尔多瓦

我的文件域有字节[]音频文件。我的“数据”将是我的对象,应该包含、名称、大小等

def audioDeal() {
    if (params.data) {
    def data = params.data
    def audio = new Test(audioFile: data.getBytes(), audio_name: data.name, id: data.id);
    audio.save(flush: true);
    println('ok')
    } else println('not ok')
}
我的url映射:

"/audio/" {
    controller = "testRest"
    action = [POST: "audioDeal", GET: "audioDeal", PUT: "audioDeal"]
}
这样做,是将文件存储在字节数组中的正确方法吗?任何关于它的评论、建议和解释都很好

您可以使用方法data.transferton新建文件'File'或从数据中读取字节。inputStream

告诉您如何操作。@TomW我没有通过.gsp使用Grails support MultipartAttpServletRequest。MultipartAttpServletRequest即使没有.gsp也可以工作-cordova应该发送这种请求,所以文档中的控制器代码应该可以工作,例如使用request.getFile'file'-我认为'file'是Cordova发送的默认密钥。它不起作用,给我一个错误没有方法签名:org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestWrapper.getFile适用于参数类型:java.lang.String values:[file]实际上@TomW使用getFiles'file'是正确的。无论如何谢谢你!
"/audio/" {
    controller = "testRest"
    action = [POST: "audioDeal", GET: "audioDeal", PUT: "audioDeal"]
}