在JavaScript / HTML前端和PHP / MySQL后端之间发送或链接文件

时间:2012-11-14 22:04:33

标签: php javascript widget

我正在寻找创建一个“文件生成器”,因为想要一个更好的词。但是,我愿意接受有关如何执行此操作的创意建议。

基本上我想要的是这个:

  • 输入:用户填写几个文本框
  • 处理:系统将文本信息存储在数据库中,将文本格式化为带有标题等的一些不错的框。
  • 输出:系统可以向用户提供格式化文本..某种程度上

然而,我会满足于此,是这样的:

  • 输入:用户填写几个文本框。
  • 流程:系统将文本信息存储在数据库中以供将来编辑/检索操作
  • 输出:系统生成供用户下载的PDF文件

这听起来相当简单。仅在PHP中就可以了。

不幸的是,我正在与学校的虚拟学习环境合作。我必须创建Netvibes UWA Format小部件(在JavaScript中)并使用AJAX(严格来说是AHAH)调用来与PHP通信。

假设我因此无法使用JavaScript创建我想要的文档(似乎无法找到任何一半体面的PDF库,而且我不想限制为一种文件格式),有什么办法吗?我可以调用我的PHP脚本,然后让它以某种方式发回一个JavaScript代码文件?

我不确定我是否可以通过VLE使所有用户都可以访问PHP脚本目录,因此只需在使用PHP创建文件后发回链接就不起作用。

提前致谢,

1 个答案:

答案 0 :(得分:1)

扩大我的评论;

  1. 将php创建的文件作为ajax响应发送回来
  2. btoa要生成base64字符串的数据(或者做这个服务器端并发送回来,更大的互联网使用情况,但我不确定XMLHttpRequest处理二进制数据的效果如何)
  3. 将此字符串附加到'data:application/octet-stream;base64,'以获取data URI
  4. window.location.href(或某些iframe)设置为此URI,页面不会因为下载行为而改变。