1
需要围绕在Javascript应用程序中处理简单文件下载(.ics)的选项提供建议。在简单的客户端应用程序中处理文件
假设s.icsMsg是一个好格式的文本/日历字符串,下面的工作在Chrome:
var downloadLink = document.createElement("a");
downloadLink.href = 'data:text/calendar;charset=utf-8,' + s.icsMsg;
downloadLink.download = "Calendar.ics";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
文件下载,正确命名并打开到邮件客户端。在IE 9+中,我得到一个数据区大小错误。
在IE中,纯粹在客户端上有没有办法实现这一点?我知道我可以通过在http头中设置内容处理来实现,但由于该文件是在客户端生成的,因此需要两个额外的跃点才能将其推出,保存起来,然后使用正确的标头将其发回(如果那甚至会起作用)。
任何建议将是伟大的...
想一想,但你有没有想过打开一个iframe的数据发布到它的iframe页面基本上只是把数据发布到它的内容处置标题? –
没想到这是可能的?我以为服务器上设置了标题,因为我都是客户端,所以没有发生。虽然,我不知道是否可以在同一页面上做ajax文章,在帖子中设置标题并在其中添加魔法...另一种方法是在App Harbor或类似软件上托管的简单服务,然后在Google云端硬盘中创建该文件,并返回我然后.click()的网址。也许。或者IE可能会有一个可怕的倒退。 – Nathan
标头设置在服务器端。但在我考虑的情况下是将数据“POST”到服务器。因此,服务器将有权访问客户端生成的数据(在php的'$ _POST'字段中),然后可以将这些数据放入标题中 –