0

MVC アプリケーションで FileStreamResult を返すために、外部 HttpHandler をハックしようとしています。クリック可能なリンクを作成したいのですが、JavaScript は使用したくありません。

パスは正しいです。ブラウザでパスを直接呼び出すことができます。次のエラーが表示されます。

要求が中止されました: 接続が予期せず閉じられました。

ブラウザでパスを直接呼び出すことができます。

これまでの私のコード:

    public FileStreamResult Test()
    {
        Uri uri = this.ControllerContext.HttpContext.Request.Url;
        string leftPart = uri.GetLeftPart(UriPartial.Authority);
        Uri cssUri = new Uri(leftPart + "/css.axd?path=test.css");

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(cssUri);
        using (Stream stream = request.GetResponse().GetResponseStream())
        {
            return new FileStreamResult(stream, "text/css")
                       {
                           FileDownloadName = "test.css"
                       };
        }

    }

私が間違っている場所を示すために私に与えることができる指針を誰かが持っていますか?

4

1 に答える 1

0

using ステートメントのため、リターンの直後にストリームを破棄しています...したがって、未処理の例外を間違いなくスローする、読み取られる閉じたストリームを返しています。

于 2013-06-18T01:52:28.233 に答える