ダイレクトファイルのダウンロードvsダウンロードとしてファイルを読む

StackOverflow https://stackoverflow.com/questions/2285664

質問

サーバー上のファイルへの直接リンクを作成することと、場所からファイルを読み取り、コンテンツタイプのヘッダーを設定してデータをストリーミングするなどのことを行うことに違いはありますか。

アプリをBlackBerryにダウンロードするために使用しているWebサーバーがあるので、私は興味があります。ファイルを作成してそのファイルへの直接リンクがある場合、それは機能しますが、Webページを使用してそれを戻すと、そうではありません仕事。電話はファイルを取得しますが、機能しません。

注意すべきこと:

  • URLはどちらの場合も同じです(つまり)http://somesite.com/download/file.jad)
  • Fiddlerを使用したブラウザでは、ダウンロード/ヘッダーがバイトのバイトとまったく同じです

では、なぜ電話が、データが送信され、URLが同一であるときにデータをストリーミングするコントローラーである直接リンク対コントローラーであるファイルを好むのはなぜですか?

役に立ちましたか?

解決 2

この問題の修正を発見しましたが、何がそれを引き起こすのかはまだわかりません。 SMS/Email Gatewayを介して電話へのリンクを配信しています。電話がSMSを取得し、ダウンロードのリンクを選択すると、JADを取得したいかどうかを尋ねます。 HTMLリンクとまったく同じリンクを別のページに配置し、そのページを指すSMSを送信しました。 Webサイトにエラーがスローされます...そこで、リンクをコピーして電話ブラウザーに貼り付けました。ページは正常に表示されます。ページのJADダウンロードリンクをクリックすると、JADは正常に動作します。

ですから、SMSの直接リンクを防ぐセキュリティメカニズムが2つあると考えています(ただし、これは他のファイルで機能しました)、または電話がURLを取得する方法が異なる方法です。

私はいくつかのテストを実行し、ID値を受け入れるページで、何か他のものに気づきました(http://site.com/download/145)145はファイルのIDです。電話ブラウザでそのリンクに移動すると、正常に動作し、ファイルをダウンロードします。 SMSで送信すると、IDがフロートであると予想され、文字列を受け取ったと言ってサーバーがエラーを発揮します。では、電話がSMSから直接リンクするとき、URLパラメーターが文字列であるが、ブラウザで使用される場合、実際にフロートとして解析されるのはなぜですか?

長く巻き込まれた説明で申し訳ありませんが、それは奇妙な問題です。

他のヒント

.jadファイルは、ダウンロードの最初の部分にすぎません。それに関連付けられた.codファイルもあります(JADで参照)。 「ストリーミング」メソッドがCODファイルを正しく、正しいMIMEタイプで送り返すようにしましたか?

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