2014-08-28 147 views
0

我計劃,用墨filepicker開/從/到雲保存文本文件web應用程序。在移動瀏覽器,當我通過打開一個文件:filepicker導出文件和彈出式窗口攔截

filepicker.pick({extension: '.txt'}, 
    function(FPFile) { 
     filepicker.read(FPFile, function(data) { 
      // Open file 
     }); 
    }); 

是沒有問題的,在瀏覽器中的「阻止彈出」選項是否被激活。但是,當我通過保存文件:

 filepicker.store(
     mycontent64, 
     {base64decode: true, mimetype: 'text/plain'}, 
     function(InkBlob) { 
      filepicker.exportFile(
       InkBlob, 
       {suggestedFilename:"myfile.txt",extension: ".txt"}, 
      function(InkBlob) { 
      // ******* Save file 
      }, 
      function(FPError) { 
       console.log(FPError.toString()); 
      }); 
      }, 
     function(FPError) { 
       console.log(FPError.toString()); 
     } 
    ); 

當「阻止彈出」選項,在瀏覽器(Safari瀏覽器在iPad或Android瀏覽器的股票,或谷歌瀏覽器的Android ...)停用它纔會起作用。 如果它被激活,瀏覽器會拒絕在新選項卡中打開導出對話框,並在控制檯中顯示「FPError 131」...

我不能告訴我的用戶停用此選項!

那麼,有沒有這樣的伎倆什麼解決辦法?

謝謝!

回答

0

一些解決方法是在同一個頁面內filepicker開放filepicker對話框。 對於移動設備改變filepicker.exportFile選項:

filepicker.store(
    mycontent64, 
    {base64decode: true, mimetype: 'text/plain'}, 
    function(InkBlob) { 
     filepicker.exportFile(
      InkBlob, 
      { 
       suggestedFilename:"myfile.txt", 
       extension: ".txt" 
       container: "yourIframeId", 
       mobile: true 
      }, 
     function(InkBlob) { 
     // ******* Save file 
     }, 
     function(FPError) { 
      console.log(FPError.toString()); 
     }); 
     }, 
    function(FPError) { 
      console.log(FPError.toString()); 
    } 
); 

「yourIframeId」 是你的網站裏面的iFrame標籤中的ID。 'mobile:true'將強制移動版對話。 檢查文檔:https://developers.filepicker.io/docs/web/#export

相關問題