2012-11-14 69 views
1

我期待爲更好的單詞創建「文件生成器」。不過,我很樂意就如何做到這一點提出富有創意的建議。在JavaScript/HTML前端和PHP/MySQL後端之間發送或鏈接文件

基本上我想是這樣的:

  • 輸入:用戶填寫幾個文本框
  • 過程:在DB系統存儲文本信息,格式化文本中一些漂亮的盒子與頭部等
  • 輸出:系統使得用戶可以使用格式化的文本..不知何故

不過,我會解決,是這樣的:

  • 輸入:用戶填寫幾個文本框。
  • 過程:在未來的編輯DB系統存儲文本信息/恢復操作
  • 輸出:系統生成PDF文件供用戶下載

這聽起來相當簡單。僅在PHP中,它就是。

不幸的是,我正在與一所學校的虛擬學習環境合作。我必須創建Netvibes UWA Format小部件(使用JavaScript),並使用AJAX(嚴格來說,AHAH)調用與PHP進行通信。

假設我不能用JavaScript創建我想要的文檔(無法找到任何半面體PDF庫,我也不想限制爲一種文件格式),有沒有我可以打電話給我的PHP腳本,然後讓它發回一個JavaScript代碼的文件以某種方式處理?

我不確定我是否可以通過VLE使所有用戶都可以訪問PHP腳本目錄,因此只需在使用PHP創建文件後發回鏈接就行不通。

在此先感謝,

+0

聽起來像[btoa'](https://developer.mozilla.org/en-US/docs/DOM/window.btoa)和[data URIs](https:// developer。)的工作。 mozilla.org/en-US/docs/data_URIs) –

回答

1

要擴大我的評論;

  1. 發送的PHP創建的文件早在Ajax響應
  2. btoa的數據做出的base64字符串(或者做到這一點的服務器端和發送這回,做大互聯網的使用,但我不知道有多好XMLHttpRequest的處理二進制數據)
  3. 追加此字符串'data:application/octet-stream;base64,'獲得data URI
  4. 設置window.location.href(或IFRAME)這個URI,頁面不會改變,因爲它會做的下載行爲。
相關問題