0


我想问一下 Ext Js Modern 中是否有“另存为”对话框?所以我可以将网页中的对象保存到本地文件中。

4

2 回答 2

0

另一个解决方案取决于 Portlet 概念:

  1. 在 ViewController 中,您触发了一个事件,例如“downloadFile”
  2. 在主控制器中,您捕获事件并执行一个函数“downloadFile”并调用一个函数,让它具有相同的名称
  3. AjaxController(Ext.app.Controller) 你调用函数doStandardSubmit

    location.href = this.url + '&operation=download¶m1=' + param1val;

  4. 在 portlet (Java) 的后端编写 endPOint 方法:

    @EndpointMethod(encode = false) public void download(DataAccessor dataAccessor, AuthenticationGenerationConfiguration configuration, @RequestKey String param1, ResourceResponse response) throws IOException {

    OutputStream outputStream = response.getPortletOutputStream(); 尝试 {

                // Adjusting content type
                response.setContentType("text/plain");
                response.setProperty("Content-Disposition", "attachment; filename=\"" + FILENAME + "\"");
                    outputStream.flush();
            } finally {
                outputStream.close();
            }
        }
    
于 2018-10-22T14:22:16.007 回答
0

一种解决方案(取决于 Web 浏览器,并非所有浏览器都支持!)使用 Mozilla API(文件和 BLOB),如: https ://developer.mozilla.org/en-US/docs/Web/API/File /文件https://developer.mozilla.org/en-US/docs/Web/API/Blob

于 2018-10-22T14:03:21.680 回答