我想问一下 Ext Js Modern 中是否有“另存为”对话框?所以我可以将网页中的对象保存到本地文件中。
2 回答
另一个解决方案取决于 Portlet 概念:
- 在 ViewController 中,您触发了一个事件,例如“downloadFile”
- 在主控制器中,您捕获事件并执行一个函数“downloadFile”并调用一个函数,让它具有相同的名称
AjaxController(Ext.app.Controller) 你调用函数doStandardSubmit
location.href = this.url + '&operation=download¶m1=' + param1val;
在 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(); } }
一种解决方案(取决于 Web 浏览器,并非所有浏览器都支持!)使用 Mozilla API(文件和 BLOB),如: https ://developer.mozilla.org/en-US/docs/Web/API/File /文件和 https://developer.mozilla.org/en-US/docs/Web/API/Blob