1
我想在scala程序中下載給定url的圖片。我正在嘗試做類似以下的事情,但我可以找到有關文本的所有調度程序示例,而不是數據流。任何人都可以指向我使用dispatch從url下載二進制文件的例子嗎?如果我嘗試直接使用img關於Future的編譯器barfs。如何通過scala獲取二進制數據流?
我試圖執行任務正在檢索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