系统不支持使用 response.outputstream.write 时的异常

本文关键字:write 异常 outputstream response 不支持 系统 | 更新日期: 2023-09-27 18:31:51

我正在开发一个 Web 应用程序,该应用程序使用控件从其位置获取文件并返回一些字节。我现在想使用 server.transfer 将这些字节传递到下一页。所以我调用 response.outputstream.write() 并传入字节。

但是,当我调试应用程序时,我得到一个"系统不支持的异常"异常消息,长度和大小为空。任何想法可能导致此问题的原因?

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

系统不支持使用 response.outputstream.write 时的异常

你可以

这样做:

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();

我不确定你的问题在哪里。

只是因为这是我刚才遇到的事情。确保你不要把

Writer.Flush(); 

以前

OutputStream.Write();

犯了这个错误,它给了我与这个问题中发布的相同的错误。希望这对某人有所帮助。