0

我正在处理 HighStock 图表的导出功能的 GWT 应用程序中编写一个 java servlet。我使用了 ExportController 并为 GWT 修改了它。我已将客户端 javascript 上的导出 url 指向这个新的 servlet。我可以看到,当我单击下载 png 时,浏览器对这个新的 servlet 进行了 post 调用,但我在请求中没有得到任何参数。请求参数(svg、选项等)都是空值。有人可以指出我在这里缺少什么吗?

4

1 回答 1

1

实际上,highcharts 导出模块发送一个“multipart/form-data”请求。我试图将参数解析为获取请求。这就是您可以解析 multipart/formdata 请求的方式 -

if (!ServletFileUpload.isMultipartContent(req)) {
            throw new ServletException("Not a file upload request");
        }

        ServletFileUpload upload = new ServletFileUpload();
        FileItemIterator iter;

        iter = upload.getItemIterator(req);
        while (iter.hasNext()) {
            FileItemStream item = iter.next();
            InputStream stream = item.openStream();
            if (item.isFormField()) {
                if (item.getFieldName().equalsIgnoreCase("svg")) {
                    svg = Streams.asString(stream);
                }

... ... } }

https://gist.github.com/4695345

于 2013-02-02T00:53:58.657 回答