Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Scala将文件转换为FileItem_Scala_File_Junit_Scalatra_Fileitem - Fatal编程技术网

使用Scala将文件转换为FileItem

使用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?我看过好几篇文章

我有一个web UI,它接受作为scalatra.servlet.FileItem上传的文件,并将其传递给几个函数,这些函数对上传的文件进行处理。这是正常工作。现在,我需要对这个特性进行junit测试。通过这个junit测试,文件不再需要上传。我只需要从一个地方读它

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) {