ファイルを取得するためにWebサービスを呼び出すカスタムHttpHandlerがあります。テストでは、私はプロダクションWebサービスを呼び出し、HttpHandlerはファイルを正しく返します。私はそれをサーバー上の実動環境でテストすると、うまく動作します。しかし、リモートクライアント(サーバーではない)からHttpHandlerを呼び出すと、ファイル名とサイズは正しく設定されますが、ダウンロードされるファイルバイトはゼロになります。何か案は?HttpHandlerゼロ長さのバイトを返す[]
1
A
答えて
1
だからここで取り上げる。 multipart range handlerを作成しました(コンテンツをiPhoneやAdobe ReaderなどにストリーミングするためにRFCを実装する必要があります)。この仕様では、クライアントが配列全体ではなくバイトの範囲を要求したときに、ファイルの処理を有効にすることが想定されています。私のハンドラの問題は、クライアントがBLOB全体を望んだときに発生しました。
if (context.Request.Headers[HEADER_RANGE] != null)
{
...
}
else
{
context.Response.ContentType = contentItem.MimeType;
addHeader(context.Response, HEADER_CONTENT_DISPOSITION, "attachment; filename=\"" + contentItem.Filename + "\"");
addHeader(context.Response, HEADER_CONTENT_LENGTH, contentItem.FileBytes.Length.ToString());
context.Response.OutputStream.Write(contentItem.FileBytes, 0, contentItem.FileBytes.Length);
}
私が含まれるように忘れてしまった:
context.Response.Flush();
コード行を追加した後、それが本番環境で働き始めました。しかし、これはサーバー上で動作していて、どんなクライアントでも動作していないことは非常に奇妙です。それがなぜ起こるのか誰にも分かりますか?
関連する問題
- 1. nilと長さゼロの文字列を返します
- 2. String#splitから長さゼロの文字列が返される
- 3. 引数の長さはゼロです
- 4. なぜenviron ['QUERY_STRING']は長さゼロの文字列を返しますか?
- 5. 可変長配列の長さはゼロですか?
- 6. バイトの配列からpngをレンダリングするHttpHandler
- 7. .NET HttpHandlerのバイト範囲要求を検出する
- 8. Pythonでゼロで埋められた長さのバイトまたはbytearrayを作成するには?
- 9. NHibernate Image Storage - バイト[長さ]の長さが、設定された長さを超えています
- 10. strcasecmpがゼロを返さない
- 11. Wicket CaptchaImageResource Linuxサーバで長さゼロの画像を作成する
- 12. ゼロを返すget_current_user_id()0
- 13. 別のバイトを返すUIImagePNGRepresentation()
- 14. PowerShellがSELECTの長さプロパティを返す*
- 15. jQueryではまだ長さゼロのタイマーが必要ですか?
- 16. HTMLの長さがゼロのときのリストボックスの幅
- 17. Javaスキャナがゼロ長文字列を返さないように正規表現を修正する
- 18. NSData長はゼロですか?エラー:ココアエラー60
- 19. ASP.NET HTTPHandlerと長時間実行するプロセス
- 20. とValueError:フォーマットPythonで長さゼロのフィールド名
- 21. maxqlの長さは、mysqlワークベンチでは1000バイトです
- 22. これは13バイトの長さはどうですか?
- 23. Androidの文字列をバイトに変換する[] - バイトをバイト[]で返す
- 24. QStringの長さをバイト数で返します(文字ではありません)
- 25. UIGraphicsGetCurrentContextはゼロを返すようです
- 26. 長さゼロのwrite()を呼び出すとどうなりますか?
- 27. DelphiのUnicode文字列の長さ(バイト単位)
- 28. "指定されたキーが長すぎます;最大キーの長さは1000バイトです"
- 29. Javaモジュロ関数がゼロを返す
- 30. OpenCV cvCaptureFromCAMはゼロを返します
コードを投稿し、Wiresharkで何が起こるかを調べる – Andomar