Http资源请求方法和Grails服务器

时间:2015-09-29 13:29:02

标签: grails http-post

我正在构建一个从Linux文件系统提供映像的控制器。我需要强制请求http方法。  在gsp方面我有类似的东西:

<div style="background-image: url('${createLink(controller: 'customServing', action:'imageserv', params: [param1: 'foo'])}');"></div>

控制器端是:

static allowedMethods = [index: 'GET',
                         imageserv: ['POST']]

动作如下:

    def imageserv = {

            ByteArrayOutputStream baos=new ByteArrayOutputStream()
            ImageIO.write(originalImage, "png", baos )
            ImageIO.write(ImageIO.read(new File(whateverPic)),'png',baos)

            byte[] imageAsByte = baos.toByteArray()

            response.setHeader('Content-length', imageAsByte.length.toString())
            response.contentType = 'image/png'
            response.outputStream << imageAsByte
            response.outputStream.flush()
    }

网络浏览器会自动发出获取背景的请求

image: Remote Address:[::1]:8080
Request URL:http://localhost:8080/customServing/imageserv?param1=foo
Request Method:GET

我会使用Ajax或经典的javascript来格式化我的请求,但我不能因为受孕的需要。 (所以它也暗示grails远程链接,或者html表单手动触发提交事件是无效的选项)

有没有办法指明(客户端或服务器端)浏览器只发出页面资源呈现的POST请求?

编辑:我确实完全控制了上下文环境(Cent OS 7,Tomcat 8)

0 个答案:

没有答案