检查请求中的附件

时间:2013-12-13 07:03:20

标签: scala scalatra

我正在Scalatra中开发文件上传网络应用程序。在我的用例中,我想检查提交的请求是否包含附件。

以下是我的代码:

val (profilePicByteStream: Array[Byte], contentType:String, fileName) = fileParams.get("profilePic") match {
      case Some(file) => (file.get(), file.contentType.getOrElse("application/octet-stream"), file.name)
      case None => (Array(), "", null)
    }

当提交的请求中有附件时,它正常工作。如何处理无效请求。

如果是非附件,则会抛出错误:

([Ljava.lang.Object;@16837c0b,) (of class scala.Tuple2)
scala.MatchError: ([Ljava.lang.Object;@16837c0b,) (of class scala.Tuple2)

在附件和没有附件的两种情况下,它都会转到某些(文件)案例。

有人可以建议如何处理无效案件吗?

1 个答案:

答案 0 :(得分:0)

你有没有考虑做一个" map"而不是匹配?

fileParams.get("profilePic").map(file => (file.get(), file.contentType.getOrElse("application/octet-stream"), file.name))

这适用于上传文件的情况,并且在没有任何内容的情况下会返回None