scala – 从请求中提取Spray.io Content-Type?
发布时间:2020-12-16 18:40:49 所属栏目:安全 来源:网络整理
导读:由于Spray.io是在低级别定义内容类型,我如何简单地引用传入请求的内容类型? 这是一个图像是PUT的简短示例. put { entity(as[Array[Byte]]) { data = complete{ val guid = Image.getGuid(id) val fileExtension = // match a file extension to content-typ
由于Spray.io是在低级别定义内容类型,我如何简单地引用传入请求的内容类型?
这是一个图像是PUT的简短示例. put { entity(as[Array[Byte]]) { data => complete{ val guid = Image.getGuid(id) val fileExtension = // match a file extension to content-type here val key = "%s-%s.%s" format (id,guid,fileExtension ) val o = new Image(key,contentType,data) Image.store(o) val m = Map("path" -> "/client/%s/img/%s.%s" format (id,fileExtension)) HttpResponse(OK,generate(m)) } } } 鉴于上面的代码,提取内容类型的简单方法是什么?我可以简单地使用它来模式匹配到适当的fileExtension.谢谢你的帮助. 解决方法
您可以构建自己的指令来提取内容类型:
val contentType = 然后在你的路线中使用它: put { entity(as[Array[Byte]]) { data => contentType { ct => // ct is instance of spray.http.ContentType // ... } } } 编辑:如果你在每晚构建,MediaTypes已经包含文件扩展名,所以你可以使用那里的文件扩展名.在1.1-M7上,您必须按照建议提供自己的映射. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |