1

コントロールを使用してその場所からファイルを取得し、いくつかのバイトを返すWebアプリケーションに取り組んでいます。server.transferを使用して、これらのバイトを次のページに渡したいと思います。したがって、response.outputstream.write()を呼び出して、バイトを渡します。

ただし、アプリケーションをデバッグしているときに、「System.NotSupportedException」例外メッセージが表示され、長さとサイズが空になります。この問題を引き起こしている可能性のあるアイデアはありますか?

file = System.IO.File.ReadAllBytes(filepath);
Response.OutputStream.Write(file, 0, file.Length);
Server.Transfer(URL, true);
4

2 に答える 2

0

あなたはそのようにすることができます:

Page.Response.Clear();
Page.Response.Buffer = false;
Page.Server.ScriptTimeout = 3000;

Page.Response.ContentType = sContentType;
Page.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + sFilename + "\"");

FileInfo oFileInfo = new FileInfo(sSourceFullPath);
long lfull_size = oFileInfo.Length;
oFileInfo = null;

Page.Response.AddHeader("Content-length", lfull_size.ToString());

Page.Response.WriteFile(sSourceFullPath);
Page.Response.End();

どこに問題があるのか​​わかりません。

于 2012-04-24T15:26:29.313 に答える
0

これが私がちょうど今遭遇したものだからです。入れないでください

Writer.Flush(); 

OutputStream.Write();

私はこの間違いを犯しました、そしてそれは私にこの問題で投稿されたのと同じエラーを与えました。これが誰かを助けることを願っています。

于 2013-12-10T15:17:13.810 に答える