使用Scala将文件转换为FileItem
我有一个web UI,它接受作为scalatra.servlet.FileItem上传的文件,并将其传递给几个函数,这些函数对上传的文件进行处理。这是正常工作。现在,我需要对这个特性进行junit测试。通过这个junit测试,文件不再需要上传。我只需要从一个地方读它使用Scala将文件转换为FileItem,scala,file,junit,scalatra,fileitem,Scala,File,Junit,Scalatra,Fileitem,我有一个web UI,它接受作为scalatra.servlet.FileItem上传的文件,并将其传递给几个函数,这些函数对上传的文件进行处理。这是正常工作。现在,我需要对这个特性进行junit测试。通过这个junit测试,文件不再需要上传。我只需要从一个地方读它 val inFile = new File("resources/sample.xml") 我的问题是,我需要将其传递给接受FileItem作为参数的函数。我得到一个类型不匹配错误。如何将此更改为FileItem?我看过好几篇文章
val inFile = new File("resources/sample.xml")
我的问题是,我需要将其传递给接受FileItem作为参数的函数。我得到一个类型不匹配错误。如何将此更改为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(或者是否可能)
希望有人能帮忙。谢谢。我想这里有很多混乱;因为实际上有两个类——apache类,但是scala框架有自己的版本 请参阅-FileUploadSupport.scala定义了它自己的类
case class FileItem(part: Part) {
因此,看起来您实际上可以直接创建该类的实例——如果您能够理解部分参数是关于什么的
我想得到一个答案——计算该部分参数的全名;然后看看是否可以使用这些知识直接实例化org.scalatra.servlet.FileItem的实例
case class FileItem(part: Part) {