2017/7/30

HTML5 AJAX下載 , 使用BLOB



  •  提共瀏覽器等待下載 , 非同步方式 參考網址  參考網址   參考網址
    • AJAX端
      • 將表單資料傳送給server
      • 回傳型態會json
      • 接到res.content的Base64內容須再做一次轉換動作base64ToArrayBuffer()
      • 建立blob物件
      • 下載視窗出現
      • window.atob() 方法 , IE9以下不支援***
      • 範例使用chrome瀏覽器可正常運行 , 如是以下瀏覽器需做修改
        • IE10+ 
          • var canvas = document.createElement("canvas");
          • if ('msToBlob' in canvas) { 
          •   navigator.msSaveBlob(_blob, _filename);
          • }
        • FireFox 
          •  document.body.appendChild(a);
          • a.click();
          •  document.body.removeChild(a);

    • Server端 ( Action )
      • 已先將檔案準備好
      • 開始讀取檔案
      • 將檔案串流轉換為Base64編碼
      • PrintWriter 回傳JSON物件給Client接收



test2