簡體   English   中英

使用Javascript進行“內容處理”行為

[英]“Content-disposition”-like behavior with Javascript

我想知道是否有可能使瀏覽器的行為與通過僅使用客戶端javascript看到“Content-disposition:attachment; filename = ...”時的行為相同? 這意味着要保存的文件的數據僅在客戶端可用。

即假設我們有一個javascript數組,僅在客戶端,

var data = [
              ["aa","bb","cc","dd","ee","ff","gg","hh","ii"]
              [ 1,   2,   3,   4,   5,   6,   7,   8,   9],
              ..
           ];

我想將此數組作為文本文件保存到用戶的計算機。 必須提示用戶輸入文件名(即我不是試圖繞過瀏覽器的安全設置或類似的東西)。

如果不將數組存儲到服務器的臨時文件並再發出請求將此臨時文件返回給用戶,這是否可行? 如果這個問題沒有簡單的答案 - 非常感謝任何想法,谷歌關鍵字或鏈接。

看看dowloadify :它使用@Adam建議的技術

var YourTextData = "text data here";
window.location.href = "data:application/octet-stream," + encodeURIComponent(YourTextData);

您無法使用純JavaScript解決方案 - 您需要讓文件推送來自服務器。

但是,您無需在服務器上安裝“物理”文件即可完成此操作。 您可以將數據字符串存儲在內存中,並從內存中寫入響應流。 但是,如果不告訴我們您正在使用的服務器端技術,您將無法獲得有關如何執行此操作的更詳細答案。

AFAIK,你不能以任何形式的跨瀏覽器方式使用Javascript。

如果您真的不想使用服務器,可以使用Flash制作混合解決方案。 基本上,您可以通過Javascript(ExternalInterface)創建自定義Flash控件,然后Flash控件將啟動“文件保存”操作。

這是一篇關於該主題的文章: 使用Flash Player 10在本地保存文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM