【问题标题】:How to get the Mime Type of a request in Grails?如何在 Grails 中获取请求的 Mime 类型?
【发布时间】:2013-03-25 14:33:24
【问题描述】:

如何在 Grails 中获取请求的 Mime 类型?

我用过:

def f = request.getFile('image')
def mimeType = f.getContentType()

但这并不总是返回正确的 mime 文件类型。如何获取选择更新的文件用户的文件?

【问题讨论】:

  • 这是您要找的吗? request.getHeader('Content-Type')

标签: grails mime-types grails-2.0


【解决方案1】:

这将返回浏览器为发布的multipart/form-data 的特定部分发送的任何内容类型。这是否是“正确”类型是另一个问题......

【讨论】:

  • @userWebMobile 你所说的“正确”是什么意思?如果您不想相信客户端浏览器告诉您的内容,那么有各种 Java 库可以尝试从文件名和/或内容中推断出内容类型,包括内置的 Files.probeContentType 如果您是在 Java 7 上运行。
【解决方案2】:

你可以得到类似“text/xml; charset=UTF-8”的东西,所以你可能需要用“;”分割得到正确的值。然后你需要检查该值是否有效,例如检查格式,或检查有效代码列表等。如果该值无效,则可以向用户返回 400 错误。

【讨论】:

    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2021-10-25
    • 2018-12-30
    • 2021-11-20
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多