2016/2/25。質問内容を修正できないため、投稿者が一旦削除しました
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
質問者様がおっしゃるように、たとえばChromeで「意図しているJSONイメージ」のリンク先を開いてコンテキストメニューから「名前を付けて保存」しようとすると"失敗 - サーバーに問題が~"となります。これは、
このリンク先のページの応答コードが500なのです。そして応答の内容、ボディー部がJSONなのです。
これを利用してWebアプリ側で常に異常系のエラーコードを返し、内容は意味のあるJSONにすれば同じようなことはできますが、他の皆さまのご回答の通りあまりよいことではないでしょう。
投稿2016/02/22 03:45
退会済みユーザー
総合スコア0
0
ブラウザで表示させた状態で ctrl+s を叩けば普通に保存できます。
投稿2016/02/22 02:57
総合スコア5568
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/22 03:00
2016/02/22 03:06
2016/02/22 03:07
2016/02/22 10:34
0
状況を相当に限定しないかぎり、不可能です。
「データを閲覧できる」ということはすなわち「データの中身を取得できる」ということなので、そのデータを書き出せば保存もできることになってしまいます。
JSONの中身をPNGファイルに描画するとかで閲覧専用にして再利用を困難にすることはできるかもしれませんが、「JSONデータとして使える」ことと「中身を保存できること」は限りなく等しいので、「データとして使えるけど保存できない」という状態にするのは難しいです。
投稿2016/02/22 02:43
総合スコア145183
0
maisumakunさんの回答が全てを語っていますが、
閲覧用には画像を用意、データ用のはJSONファイルを用意する。
閲覧用のURLは別途案内する。
ただ書かれている用に、画像にしたとしても、手打ちでコピーすれば再利用可能なわけです。
で、データ用のJSONファイルですが、これはWebサーバーに配置するのではなく、
APサーバー内に配置し、*.json にリクエストがきた場合にフィリタリング処理を行うことで、
アクセス制限を多少上げることはできそうですね。
例えば特殊なリクエストヘッダが付与されている場合や、ログインされている場合のみ、
JSONへのアクセスを許可し、アプリ上で application/json のレスポンスを返すなど。
逆に上記のような条件を満たしているリクエストの場合は、JSONが丸見えということですが。。。
しかも、Ajaxでこれをやろうとすると、スクリプトのソースはユーザーに丸見えなわけですから、
ヘッダに何を設定すればいいかなど、ソースを解析されれば小細工はバレます。。。
投稿2016/02/22 03:15
総合スコア4666
0
・意図しているJSONイメージ
何の問題もなく保存できますよ。
そもそも「ブラウザで表示=ダウンロード」ですよ。
メジャーではないなんらかの特定のブラウザでブラウザ独自機能を使ったり、ブラウザにアドインを強制的に組み込んだりすれば可能かも知れません。
投稿2016/02/22 03:10
総合スコア84533
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/22 10:30