4

我想让用户在表单中上传一个文件,并在提交后打开文件并读取每一行,以便从中获取信息以存储在数据库中。到目前为止,我只能制作一个对象并从中提取字节。

def  uploadedFile = request.getFile('name_of_file')

这为我提供了一个 commonsMultipartFile,但我不确定是否需要将文件流式传输到缓冲区中,或者将文件保存到临时文件夹中,然后尝试以这种方式打开它。

uploadedFile.getbytes()会给我一个数组 [71, 101, 110, 101, 114, 97, 108, 13, 10, 45, 45, 45, 45, 45, 45, 45, 13, 10, 83, 116....]这不是我可以做任何事情的形式。

我需要能够打开文件并逐行读取。我可以用 commonsMultipartFile 做到这一点吗 - 它的选项似乎有点有限。

4

2 回答 2

5

CommonsMultipartFile一个 getInputStream() 方法,它将返回一个InputStream您可以调用任何 Groovy 增强功能的方法,例如:

request.getFile('name_of_file').inputStream.eachLine { line ->
    /* Parsing logic */
}
于 2012-07-10T14:01:01.403 回答
0

首先将其保存到目录。然后解析并做你需要做的事情。

于 2012-07-10T13:55:24.213 回答