0
我想用Alpakka上傳文件到S3中,同時用Tika解析它以獲得它的MimeType。如何組合2種不同類型的水槽?
我有3個部分圖線的那一刻:
val fileSource: Source[ByteString, Any] // comes from Akka-HTTP
val fileUpload: Sink[ByteString, Future[MultipartUploadResult]] // created by S3Client from Alpakka
val mimeTypeDetection: Sink[ByteString, Future[MediaType.Binary]] // my implementation using Apache Tika
我想在一個地方同時獲得結果,是這樣的:
Future[(MultipartUploadResult, MediaType.Binary)]
我與廣播的部分沒有問題:
val broadcast = builder.add(Broadcast[ByteString](2))
source ~> broadcast ~> fileUpload
broadcast ~> mimeTypeDetection
但是,我在編寫接收器時遇到了麻煩。我在API和文檔中發現的方法假定任一組合接收器都是相同類型的,或者我是壓縮流而不是接收器。
這種情況下建議的方法是什麼?