scalatra.servlet.FileItemとしてアップロードされたファイルを受け入れる Web UI があり、アップロードされたファイルで何かを行ういくつかの関数に渡されます。これは正常に動作しています。ここで、この機能の 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")
誰でも助けてくれることを願っています。ありがとう。