【发布时间】:2017-04-04 10:01:04
【问题描述】:
我有一个 Web UI,它接受作为 scalatra.servlet.FileItem 上传的文件,并传递给对上传的文件执行某些操作的几个函数。这工作正常。现在,我需要为这个特性做一个 junit 测试。使用此 junit 测试,不再需要上传文件。我只需要从一个位置读取它。
val inFile = new File("resources/sample.xml")
我的问题是我需要将它传递给接受 FileItem 作为参数的函数。我收到类型不匹配错误。我如何将其更改为 FileItem?我看过几篇文章,但没有一个有效。我想知道是否甚至可以从 File 转换为 FileItem。我也尝试过使用
val fileItem = new DiskFileItem("payloadFile", "plain/text", false, "Payload_FileItem", availableBytes, inFile).asInstanceOf[org.scalatra.servlet.FileItem]
但这仍然有错误:
java.lang.ClassCastException: org.apache.commons.fileupload.disk.DiskFileItem cannot be cast to org.scalatra.servlet.FileItem
我也尝试过使用 inputStreams,但不知道接下来要做什么才能从流转换为 FileItem(或者是否有可能)。
val inputStream = getSystemClassLoader.getResourceAsStream("resources/sample.xml")
希望任何人都可以提供帮助。谢谢。
【问题讨论】:
标签: scala file junit scalatra fileitem