我想在 scala 程序中下载给定 url 的图像。我正在尝试执行以下操作,但我能找到的所有调度程序示例都在谈论文本,而不是数据流。谁能指出我使用调度从 url 下载二进制文件的示例?如果我尝试直接使用 img,编译器会拒绝 Future。
我正在尝试执行的任务是检索 facebook 个人资料图像。
def copyUrl( uri : String ) : Array[Byte] = {
val svc = url(uri)
val img = Http(svc OK as.Bytes)
for ( i <- img ) {
println(i)
}
// something here but no idea
img.map(_.toArray)
}
我收到以下编译器错误
ProfileImage.scala:31: type mismatch;
[error] found : scala.concurrent.Future[Array[Byte]]
[error] required: Array[Byte]
[error] img.map(_.toArray)
[error] ^
[error] one error found
我也试过
def copyUrl( uri : String ) : Array[Byte] = {
result = scala.io.Source.fromURL(uri).map(_.toByte).toArray
}
这导致
Exception being returned to browser when processing /oauth/welcome java.nio.charset.MalformedInputException: Input length = 1