我有一个 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")
希望任何人都可以提供帮助。谢谢。