質問

私は、ユーザーが自分のコンピュータ上のテキストファイルにテキストエリアの現在のコンテンツをダウンロードできるようにしたいです。過去に私は、ファイルのダウンロードダイアログをトリガーするデータ、とのURLを指すのiframeを作成します。しかし、この時点では、データはクライアント側です。

だから、それはそれをサーバ側に送信することなく、ユーザーのダウンロードデータを聞かせすることは可能でしょうか?

役に立ちましたか?

解決

  

は、それはそれをサーバ側に送信することなく、ユーザーのダウンロードデータを聞かせすることは可能でしょうか?

一般的なケースではない。

ありません

(あなたはURLに含める値をURLエンコードする必要がある、またはdata:シーケンスがデータ内に表示されたとき、あなたが破損に直面するかもしれないが)それはjanmoesenの答えのように、%nnのURLで可能です。

しかし、これは非常に長いデータは非現実的となり、古いブラウザやIEでは使用できません。 (IE8が短いデータのURLを直接ナビゲーションをイメージするために使用さではなく、することができます。)あなたがそれをサポートするブラウザ上のプロセスを強化するために、データ・URLの方法を含むことができるようにしながら、あなたはまだのformfulを送るのフォールバックソリューションが必要になりますサーバー側にデータとそれが反応して、ファイルをバックアップ吐く持っています。

(セキュリティ上の理由から、これが唯一のPOST要求に許可する必要があり、サーバが応答でContent-Disposition: attachmentを含める必要があります。Aコンテンツエコースクリプトがそうでなければ、あなたにクロスサイトスクリプティングの問題を与えることができます。)

他のヒント

それはIEのような「古いブラウザ」での作業に必要としない場合は、

、あなたは場所'data:text/plain,' + yourTextarea.valueで新しいウィンドウを開くことができます。ユーザーは、[ファイル/ページ]メニューまたは Ctrlキー + S を使用してそのファイルを保存することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top