問題タブ [response.transmitfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
9060 参照

asp.net - Response.TransmitFile、Response.End、および IE に関する問題

Response.TransmitFile を使用して、ある時点でユーザーにファイルを送信する ASP.NET アプリを開発しています。

私の開発マシンでは問題なく動作し、テスト サーバーにデプロイすると、そのうちの 2 台で引き続き動作します。サーバーの 1 つ (W2K3) では Firefox でのみ動作しますが、IE7 で試してみると、「Internet Explorer は (サーバー名) でファイル sendfile.aspx を開けません」のようなエラーが表示されます。

問題を再現するために小さなインライン aspx ページを作成しました。

私はさまざまなことを試しましたが、行をコメントアウトすると再び機能することに気付きましたResponse.End(ただし、少なくともウェブで見つけたすべてのサンプルコードによると、この行はそこにあるはずです)

関連する場合と関連しない場合があることに気付いた別の問題は、<html>, <head>とその終了タグを削除すると失敗することです。

私はこれについてしばらく頭を悩ませてきましたが、これを機能させる方法を知っている人はいますか?

0 投票する
1 に答える
7993 参照

asp.net - ASP.NETを使用してファイルをストリーミングするときにIIS7がコンテンツタイプヘッダーを無視するのはなぜですか?

2ページのシンプルなWebサイトがあります。1つはファイルのリストを表示し、もう1つはリストでクリックされたときにファイルをストリーミングします。実稼働環境では6か月間すべて問題ありませんでしたが、今度はサイトをWindows 2008/IIS7に移動する必要があります。私はそれをほとんど機能させていますが、私のcontent-typeヘッダーが無視されているため、ファイルは(Firefoxで)正しく開かれません。本番サイト(IIS6)では、ヘッダーは(Fiddlerを使用して)次のとおりです。

しかし、テストIIS7サーバーでは次のようになります。

Fiddlerはプロトコル違反も報告し、「コンテンツの長さの不一致:応答ヘッダーが236841バイトを要求しましたが、サーバーは238378バイトを送信しました」と述べています。

私のコードは次のようになります。

私はこれを数日間修正しようとしています。私はIIS7にあまり詳しくなく、さまざまな設定を変更する場所を見つけるのに苦労しました。私は2つのマネージドパイプラインモードについて理解し、Classic .NET AppPoolに切り替えることで他のいくつかの問題を修正しました(Integratedはファイルの送信時にあらゆる種類のエラーをスローしていました)。

何が起こっているのか、IIS7にContentTypeヘッダーを上書きしないように指示する方法はありますか?

0 投票する
2 に答える
20108 参照

c# - Response.TransmitFileを送信し、送信後に削除します

自分のサイトにGEDCOMエクスポートを実装する必要があります。

gedcomへのエクスポートがクリックされたときに、私の.netコードがサーバーに1つのファイルを作成しました。

次に、サーバーからクライアントにダウンロードする必要があります。また、ユーザーはそのファイルを保存する場所を尋ねられる必要があります。つまり、savedialogが必要です。

ダウンロードした後、そのファイルをサーバーから削除したいと思います。

サーバーからクライアントにファイルを送信するための1つのコードを取得しました。

このリンクから

しかし、このコードの後に​​ファイルを削除してResponse.End応答を終了することはできないため、その行の後に記述されたコードは実行されません。

以前にファイルを削除するコードを実行するResponse.End();と、ファイルが送信されず、エラーが発生します。

0 投票する
2 に答える
7658 参照

c# - Response.TransmitFile を使用して物理ファイルが機能しない

ダウンロードを促すために Response.TransmitFile() を使用しようとしています。私はこの問題に関する多くの投稿を読み、Rick Strahl のブログ http://www.west-wind.com/weblog/posts/76293.aspxに基づいて方法を調べました。

唯一の違い (私が知る限り) は、仮想ディレクトリの外部にある物理ファイルをターゲットにしていることです。このコードは ajax 化された radgrid で呼び出されます... response.transmitfile が ajax 呼び出しで機能しないのだろうか? ここに私のコードスニペットがあります:

システムがファイルの存在を認識していることを確認してください...エラーなしでResponse.End()に到達します...その後、アプリを適切に続行します...ダウンロードプロンプトがないことを除いて。

ReturnExtension メソッドは、次のように別のサイトから持ち上げられます (申し訳ありませんが、場所を思い出せません!)。

0 投票する
8 に答える
16515 参照

c# - C# コードから zip ファイルを送信する方法

私は、c# コードベースを使用して zip ファイルをダウンロードする必要がある c#.net アプリケーションを使用しています。ファイルをダウンロードするには、次のコードを使用しています。

zip ファイルは送信されますが、ダウンロード後に zip ファイルを開こうとすると、「ファイルを開けません: ファイルは有効なアーカイブではないようです」というエラーが表示されます。

どこが間違っているのか、zip ファイルを取得してエラーなく解凍する方法を教えてください。

前もって感謝します

0 投票する
1 に答える
1661 参照

asp.net - Response.TransmitFile()は、ASP.NET開発サーバーを使用して「パス{パス}へのアクセスが拒否されました」をスローします

Response.TransmitFile()を使用して保護されたPDFファイル(ブラウザーから直接アクセスできない)を送信しようとしていますが、「パスへのアクセスが拒否されました...」というメッセージが表示されます。ASP.NET Development Serverを使用しているので、使用されているユーザーアカウントが正確にはわかりません。とにかく、私はすべての人にフルコントロールを設定しましたが、それでも運がありません。

これを引き起こしている可能性がありますか?たぶん、許可とは関係ありません...

私が使用しているコードは次のとおりですが、問題がないかどうかはわかりません。

0 投票する
6 に答える
33632 参照

c# - Response.TransmitFile をダウンロードせず、エラーをスローしない

現在、サーバーからファイルをダウンロードするために HttpResponse を使用しています。Excel/Word ファイルをダウンロードするために既にいくつかの関数を使用していますが、単純なテキスト ファイル (.txt) をダウンロードするのに問題があります。

テキスト ファイルでは、基本的に TextBox の内容をファイルにダンプし、HttpResponse を使用してファイルをダウンロードしてから、一時テキスト ファイルを削除しようとしています。

Excel/Word ドキュメントで機能するコードの例を次に示します。

そして、ここに動作しないコードのチャンクがあります。
エラーをスローせずにコードが実行されることに注意してください。ファイルが作成され、削除されますが、ユーザーにダンプされることはありません。

0 投票する
1 に答える
204 参照

asp.net - ActionResult 内で要求を IIS に戻す

答えは「あなたにはできない」だと確信していますが、もしそうなら、ASP.NET MVC には恐ろしい欠陥があります。

静的ファイルを提供する必要がある ActionResult があります (ファイル名はコードで決定されます)。パフォーマンス上の理由から (そして、受け入れバイトとキャッシュ ヘッダーの HTTP 仕様を再実装する気がしないため)、要求を IIS に渡したいと思います。HttpModule の context.RewritePath() が静的ファイルの名前を指定した場合と同様です。

ただし、これは PostAuthorizeRequest ではなく、ActionResult 内で発生する必要があります。

FileStreamResult クラスと FilePathResult クラスを見ると、それらが HTTP 200 のみを実装していることは明らかです。 .

IIS がファイルを提供する上でどれほど優れているか、統合パイプラインがどれほど重要であるか、IIS6 でのワイルドカード マッピングがパフォーマンスにとっていかに悪かったかなど、ほぼ解読されていると言われました。

今は同じ船に戻っています。IIS に ActionResult から静的ファイルを提供させる方法はありません。(いいえ、TransmitFile はカウントされません)。

MSが静的コンテンツを別のサーバーに置くことを推奨しているのを見始めました。

私が間違っていることを教えてください。これを行う魔法の方法がどこかにあるのです。それとも、MVC によって Integrated Pipe Dream が殺されましたか?

0 投票する
1 に答える
457 参照

c# - IEとwordでのTransmitFileのセキュリティ問題

サーバーからクライアントにファイル(Word文書)を転送しようとしています

私はこれを使用しています:

IEで、ダウンロードポップアップの[開く]をクリックすると、すべてが正常で、ドキュメントが開いています。

問題は、保存ボタンをクリックすると、セキュリティ/接続のポップアップが表示されることです。mysite.comのユーザー名/パスワードを入力する必要があります

0 投票する
5 に答える
6191 参照

c# - Repsonse.Transmitfile(); 保存できるが開くことができない

を使用してxlsxファイルを送信しようとしています

IE ダイアログがポップアップし、ファイルを正常に保存して、フォルダーから開くことができます。これは正常に動作します。しかし、IE ダイアログで [開く] をクリックすると、「myFile.xlsx をダウンロードできませんでした」というメッセージが表示されます。[再試行] をクリックすると Excel が開きますが、「ファイル形式またはファイル拡張子が有効でないため、Excel でファイル 'myFile.xlsx' を開けません...」というエラーが表示されます。
現在、VS2010 からデバッグ モードでサイトを実行しています。

保存できるのに直接開くことができない理由を誰かが知っていますか?

編集
Chrome はそれをダウンロードするだけです。FFはそれThe file you are trying to open, 'myFile.xlsx.xls', is in a different format than specified by the file extension...を開こうとしましたが、とにかく開くことを選択できるというエラーが表示され、読み取り専用モードで正常に開きます。
だから、ここで何かファンキーなことが起こっています。
fileName = "myFile.xlsx"

編集 2これは IE 9 にあります。ContentType として
も試しました。octet-streamapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet